四时宝库

程序员的知识宝库

Python3爬虫实例——使用Scrapy重构代码爬取名著

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.总结

  • 可能会出现的问题:

  1. ImportError : cannot import name '_win32stdio' 解决方法

  2. python3 使用scrapy的crawlspider问题 解决方法:查看最新的官方文档。

  3. xpath: 所有"< p >"标签下的内容:xpath('//p/descendant::text()')

    只需要< p >或者< strong >下内容:xpath('//p/text()|//p/strong/text()')

    xpath也是个大坑,改天把它填了。

文/breakingsword(简书作者)

原文链接:http://www.jianshu.com/p/da74598487e6

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接