投稿    登录
  您好,欢迎光临崔庆才的博客,祝大家新年快乐,鸡年大吉!

小白进阶之Scrapy第一篇

Python 哎哟卧槽 29556浏览 82评论

下面我们开始还剩下的一些内容获取:小说章节 和章节内容

首先我们在item中新定义一些需要获取内容的字段:

scrapy16

代码不解释了哦!(懒癌来了,写不下去了)

继续编写Spider文件:

scrapy18

请注意我图中画红框的的地方,这个地方返回item是不能用return的哦!用了就结束了,程序就不会继续下去了,得用yield(你知道就行,这玩意儿说起来麻烦。)

第五十八行: num这个变量的作用是  因为Scrapy是异步的方式运作,你采集到的章节顺序都是混乱的,需要给它有序的序列,我们按照这个排序就能得到正确的章节顺序啦

请注意在顶部导入定义的第二个item类!

下面我们来写存储这部分spider的Pipeline:

数据表:

 

Sql.py:

Scrapy13

Scrapy14

不解释了哦!

下面是Pipeline:

scrapy21

有小伙伴注意,这儿比上面一个Pipeline少一个判断,因为我把判断移动到Spider中去了,这样就可以减少一次Request,减轻服务器压力。

改变后的Spider长这样:

Scrapy16

别忘了在spider中导入Sql哦!ヾ(。 ̄□ ̄)ツ゜゜゜

 

到此收工!!!!

至于小说图片,因为Scrapy的图片下载管道,是自动以md5命名,而且感觉不爽··· 后面单独写一个异步下载的脚本···

https://github.com/thsheep/dingdian

转载请注明:静觅 » 小白进阶之Scrapy第一篇

喜欢 (62)or分享 (0)

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击下面的

  1. 广州工厂货源ᣘChopard(肖邦)炫岫Tory Butch(汤丽柏琦)PRADA(普拉达)Jacob Winston(海瑞温斯顿)BARITU(巴藜兔)3.1 Phillip Lim威信 LoveMeJck

  2. DatabaseError: 1366 (HY000): Incorrect string value: ‘xE7xAB xE4xBAx89…’ for column ‘xs_chaptername’数据库编码错误,网上的解决方法都不管用啊,数据库怎么会,大神帮忙解决一下

  3. 博主,你的意思是把dingdian.py文件从spiders文件夹中移出,移到dingdian文件夹中么?但是运行entrypoint.py时还是报错,错误内容为’Spider not found: dingdian’。哎!真是折磨死我了。

    • 你的解决了吗?我试过@问问164 的方法,结果还是报错错误:ValueError: attempted relative import beyond top-level package找了网上资料,试过用 from .. import DingdianItem 和 from . import DingdianItem 都不行额,望大神解答