将scrapy爬虫框架爬取到的数据存入mysql数据库

使用scrapy爬取网站数据,是一个目前来说比较主流的一个爬虫框架,也非常简单。
1、创建好项目之后现在settings.py里面把ROBOTSTXT_OBEY的值改为False,不然的话会默认遵循robots协议,你将爬取不到任何数据。
2、在爬虫文件里开始写你的爬虫,你可以使用xpath,也可以使用css选择器来解析数据,等将数据全部解析完毕之后再items文件里面去声明你的字段

import scrapy
class JobspiderItem(scrapy.Item):
    zwmc = scrapy.Field()
    zwxz = scrapy.Field()
    zpyq = scrapy.Field()
    gwyq = scrapy.Field()

3、然后再爬虫文件里面先去导入items里面声明字段的类,接着创建item对象,写入值,最后别忘了把item给yield出去

item = JobspiderItem()
item['zwmc'] = zwmc
item['zwxz'] = money
item['zpyq'] = zpyq
item['gwyq'] = gzyq
yield item

4、接下来就是存入mysql数据库了:
1.在pipelings.py文件里面先导入item类以及pymysql模块

from ..jobspider.items import JobspiderItem
import pymysql

2.然后就开始连接数据库以及写入数据库,我这里是直接先将mysql数据库以及数据表建立好了,并没有在代码里面创建

class JobspiderPipeline(object):
    def __init__(self):
        # 1. 建立数据库的连接
        self.connect = pymysql.connect(
	    # localhost连接的是本地数据库
            host='localhost',
            # mysql数据库的端口号
            port=3306,
            # 数据库的用户名
            user='root',
            # 本地数据库密码
            passwd='123456',
            # 表名
            db='job51',
            # 编码格式
            charset='utf8'
        )
        # 2. 创建一个游标cursor, 是用来操作表。
        self.cursor = self.connect.cursor()

    def process_item(self, item, spider):
        # 3. 将Item数据放入数据库,默认是同步写入。
        insert_sql = "INSERT INTO job(zwmc, zwxz, zpyq, gwyq) VALUES ('%s', '%s', '%s', '%s')" % (item['zwmc'], item['zwxz'], item['zpyq'], item['gwyq'])
        self.cursor.execute(insert_sql)

        # 4. 提交操作
        self.connect.commit()

    def close_spider(self, spider):
        self.cursor.close()
        self.connect.close()

5、最后就是去settings.py文件里面将ITEM_PIPELINES给解注释了

  • 3
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值