scrapy框架下pythom爬虫的数据库(MYSQL)

本次主要讲述在scrapy框架下pythom爬虫有关mysql数据库的相关内容。

首先在MySQL数据库中创建对应的表,注意字段的设计!

数据库的信息存在setting 里,数据信息host,database,user,password,port等取出

打开管道文件pipelien.py,添加一个存储到MySQL数据库中的一个管道类(),我们可以参照管道文件初始化中,自带的管道类<项目名称>Pipeline写法,写一个Pipeline管道类。


连接数据库*执行sql语句

从setting文件中获得数据库信息,将从数据库中获得的信息定义保存到目前文件打开open_spider()开始爬虫自动连接数据库,self.db=pymysql.connect()创立连接,self.cursor=self.db.cursor()创立邮标

使用邮标self.cursor.execute(sql)执行SQL命令

在settings.py中配置:


process_item():该方法专门用来处理item类型对象,可以接收爬虫文件提交过来的item对象该方法每接收到一个item就会被调用一次

运行实例:

最后奉上有关代码:

import  pymysql

class TenxunPipeline:

def process_item(self, item, spider):

return item

class TenxunPipeline(object):

def __init__(self,host,database,user,password,port):

self.host = host

self.database = database

self.user = user

self.password = password

self.port = port

@classmethod

def from_crawler(cls, crawler):

return cls(

host=crawler.settings.get("MYSQL_HOST"),

database=crawler.settings.get("MYSQL_DATABASE"),

user=crawler.settings.get("MYSQL_USER"),

password=crawler.settings.get("MYSQL_PASSWORD"),

port=crawler.settings.get("MYSQL_PORT"),

)

def open_spider(self, spider):

#开始爬虫时自动连接数据库

self.db= pymysql.connect(host=self.host, user=self.user,password=self.password,database=self.database, charset='utf8', port=self.port)

self.cursor = self.db.cursor()

def process_item(self, item, spider):

sql = "insert into enter_recruit(id,enterprise,recruit_type,source_web, position_name, occupation_type, publish_time,job_description,job_requirements,work_address,interview) values ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')"%(item['id'],item['enterprise'], item['recruit_type'], item['source_web'], item['position'], item['occupation_type'], item['publish_time'], item['job_description'], item['job_requirements'], item['work_address'], item['interview'])

#执行sql命令

self.cursor.execute(sql)

#提交sql命令

self.db.commit()

return item

def close_spider(self, spider):

self.db.close()


本文章为pythom项目“scrapy实战-爬取腾讯的招聘信息”有关数据库方面的相关内容

有关“scrapy实战--爬取腾讯的招聘信息”scrapy框架以及其他信息请前往scrapy实战--爬取腾讯的招聘信息_洛厨@锦依的博客-CSDN博客查看,谢谢。

你可能感兴趣的:(scrapy框架下pythom爬虫的数据库(MYSQL))