来到了小编学习之路的第二站,使用crawlspider爬取脚本之家的文章。
创建项目之类的就不多说了,我们直接就看代码吧。
首先,我们来看看Item的代码:
其实也没什么特别的,只是把插入数据的语句也放到了这里面。
我们的重点是蜘蛛,下面让我们来看看蜘蛛的代码吧。
这里我们继承的是scrapy内置的crawlspider,Rule()实例就是制定蜘蛛的规则,告诉蜘蛛要去哪里拿什么。LinkExtractor()负责帮我们筛选网址,只有符合的网址,蜘蛛才会进入进行爬取。其他的跟上次我们说的蜘蛛没什么不同,看上去是不是很简单。
看完了Item,蜘蛛之后,少不了的就是管道了,也就是pipeline了。这次我们的pipleline跟上次一样,也就是把数据异步写入数据库。
这就是我们的管道,在处理content数据时,小编把清除HTML标签的操作放到了管道里面做。其他的跟上次的异步插入一样,只是更换了数据表。
这次小编还加了User-Agent代理池,具体实现如下:
写一个py文件存放用户代理,然后改写我们的中间件。
这样就完成了,然后我们通过命令行进入存放项目的文件夹,输入scrapy crawl [项目名称] 就完成了。
下面放上我爬了的数据,单线爬取比较慢哈哈。爬了半天我就停了。
有不足之处,请各位大神多多指教!
小白的Scrapy入门之路2 ————爬取脚本之家
最新推荐文章于 2021-12-05 12:47:01 发布