1.准备
安装:pip install scrapy==1.1.0rc3
参考资料:官方1.0文档
2.使用Scrapy重构代码
2.1创建新项目
使用cmd进入待建项目的文件夹中,输入:
项目就建好了,项目结构图如下:
spiders文件夹是存放各种爬虫的文件夹
items是存储爬取对象的属性定义的文件
settings是Scrapy设置的文件
2.2 定义要爬取的对象的属性
2.3 定义爬虫
我直接是使用的CrawlSpider,一个更加方便定义爬取连接规则的类型。
allow对应爬取的网站,使用了正则,callback对应对于该网站使用的方法。
读取每章内容并保存id顺序,因为Scrapy是异步的,所以需要保存章节顺序。
2.4 执行爬虫
普通的执行方法,在cmd中输入:
在pycharm中的执行方法 stackoverflow
3.总结
可能会出现的问题:
ImportError : cannot import name '_win32stdio' 解决方法
python3 使用scrapy的crawlspider问题 解决方法:查看最新的官方文档。
xpath: 所有"< p >"标签下的内容:xpath('//p/descendant::text()')
只需要< p >或者< strong >下内容:xpath('//p/text()|//p/strong/text()')
xpath也是个大坑,改天把它填了。
文/breakingsword(简书作者)
原文链接:http://www.jianshu.com/p/da74598487e6