前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬虫课程(七)|豆瓣:使用PyCharm+Scrapy爬取豆瓣读书书籍信息示例

爬虫课程(七)|豆瓣:使用PyCharm+Scrapy爬取豆瓣读书书籍信息示例

作者头像
黄小怪
发布2018-05-21 17:13:00
1.3K0
发布2018-05-21 17:13:00
举报
文章被收录于专栏:小怪聊职场

从现在开始,我们将进入实战阶段,本课程主要知识点包括三个:

1)一个简单的爬取豆瓣读书内容示例 2)使用PyCharm进行代码调试方法 3)初步学会使用XPath提取html元素

一、一个简单的爬取豆瓣读书内容示例

我们现在要爬取豆瓣读书中的新书速递中的书籍信息,主要提取它们的书籍标题、书籍内容链接以及发布时间。如下图:

(图一)豆瓣读书html

1为我们要爬取的豆瓣读书的URL地址,2为我们要爬取的具体内容的HTML元素区块。那么对照我们使用Scrapy应该怎么写呢?

第一步:在scrapy中,我们把要爬取的目标网页的URL放在start_urls中,start_urls是可以存放多个url地址的,至于它们是怎么一个个加载这些url的,我会在后面讲解源码的课程中会详细讲解。第二步就是获取ul标签下的所有li标签的内容,因为我们需要的书籍信息都在这些li里面。

(图二)豆瓣读书爬虫源代码

从上面的第二个红色框,我们发现它是先通过找到id为content,然后找出子div,再找出这个子div下的第二个子div,再就是ul/li。这个只是其中一种方法,这种方法主要是直接使用浏览器自带的“Copy XPath”功能来实现的(Chrome浏览器的实现方式为选中区域,右击,Copy,选择Copy XPath)。

浏览器自带的“Copy XPath”功能

实际上我们完全可以使用另一种方法获取到这个li,方法很多,下面任举一例子:

(图三)获取li的两种方法

在(图二)豆瓣读书爬虫源代码中有一个name ="douban_book",这个是每个爬虫文件的唯一名称,我们在执行爬虫时就会用到它。

二、使用PyCharm进行代码调试

对于程序员来说,我们深知代码调试的重要性,那么我们如何使用PyCharm来调试爬虫代码呢?

我们新建一个main.py文件,如下图:

(图四)利用main进行代码调试

我们只要使用debug方法执行这个main.py,就会进入我们在对应的douban_book文件的断点中。

(图五)Debug执行main

到此,一个简单的Scrapy使用的“hello world”已经完成。接下来我会在这个“hello world”基础上去讲解XPath选择器的详细用法,items的设计,以及如何使用pipeline把item中的数据保存到Mysql数据库表中。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.11.04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档