scrapy入门级使用

工作果然都是用的scrapy进行采集数据……今天工作上学习了一下,下班回到家的记录。
先理解scrapy的概念流程(功能流程图自寻)。

Scrapy框架功能流程:

scrapy框架先是将spider里的目标网站信息入栈scheduler,然后对网站进行requests后,将response输入Downloader,Downloader将response返回到spider并按照spider对数据的要求清洗数据,转存到Item Pipeline后,进行后续对数据存储。

详细介绍:

通过指令:

scrapy genspider [spiderID] [spiderURL]

创建对应爬取网站的爬虫。

[spiderID].py

name是scrapy其他部分调用时用到的名字,allowed_domains是一个约束器,start_urls是一个用于采集开始的url集合,所有的网站数据都是始于这个url集。
parse函数,是用于写后续数据操作的。前面生成了response后,这里可以对response进行数据处理,也可以存储到items里。

items.py

用于命名存储的变量,格式如下:

name = scrapy.Field()
id = scrapy.Field()
pipelines.py

后续对数据库存储操作以及存储数据到文件都写在这里,以存储数据库为例。代码类似如下:

class WikispiderPipeline(object):
    def __init__(self):
        self.conn = pymysql.connect(host="localhost", user="testUser", passwd="test123", db="mysql", charset="utf8")
    def process_item(self, item, spider):
        self.conn.execute("")
        self.conn.commit()
        return item

定义一个initing函数,里面写py文件和数据库mysql的连接。
在process_item里写对数据库的详细操作,记得一定要写commit()不然无法运行上述操作。

2018-5-1 更新
运行部分忘记写了……
框架使用时,要使用命令运行,最合适的方法就是在pycharm里的terminal里,直接输入如下命令格式。

scrapy crawl spidername
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值