抓取热门标签下的名人名言实验报告

查看目标网页

http://quotes.toscrape.com 中的每个名言都由 HTML 元素表示,如下所示:

每个名言是以HTML元素表示.png

确定采集实体:

从上图可以看出,我们需要采集的实体有三个,分别是:标签(tags)、名人名言(text)和作者(author)

建立新项目:quotes

scrapy startproject quotes enter

查看一下创建的项目

创建项目.png

在items.py中定义自己要抓取的数据

items.py文件.png

检查我们的页面,我们可以看到链接到下一个页面的URL在下面的元素中:
链接到下一个页面.png

在shell中我们可以把它提取出来


提取下一页规则.png

编写myspider.py文件

myspider.py文件.png

现在,在提取数据之后,parse() 方法查找到下一页的链接,使用 urljoin() 方法构建一个完整的绝对 URL(因为链接可以是相对的),并生成(yield)一个到下一页的新的请求, 其中包括回调方法(parse)。

使用它,可以根据我们定义的规则构建复杂的跟踪链接机制,并根据访问页面提取不同类型的数据。

在上面的图片中,它创建一个循环,跟踪所有到下一页的链接,直到它找不到要抓取的站点分页。

运行命令 scrapy crawl quotes -o quotes.json

得到的部分数据如下

部分爬取结果展示.png

如何检查xpath/css定位是否正确

用scrapy shell进行调试

参考教程:http://scrapy-chs.readthedocs.io/zh_CN/1.0/topics/shell.html

总结和感悟

在进行数据的采集任务中,采集的规则和方法是数据采集的核心。要对整个网站仔细地观察和研究,要非常细心并且有耐心。同时仍然需要对python进行更多和更深刻的练习,就比如在这次的学习中发现使用xpath可能比css更加快速准确。还要继续努力才能学好python。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容