使用工具:

火车头采集器

任务实例:

采集豆瓣电影上的影评,包括评论电影、评论时间、评论用户、评论内容。

1.新建任务分组

2.新建任务规则,并添加起始网址

选中刚刚新建的任务分组,点击新建任务规则;

于是来到规则填写页面;

前往豆瓣电影https://movie.douban.com/,选取任意想要抓取影评的电影,获取所需要的起始网址,本文选择抓取《头号玩家》这部电影;

然后找到《头号玩家》电影的短评,点击全部;

就找到了我们想要抓取评论的起始页;

请注意, https://movie.douban.com/subject/4920389/comments?status=P这个并不是起始网址的url,因为我们是通过点击“全部”这个按钮跳转到这个页面,所以上面的url其实是我们点击“全部”发送的GET请求。

那怎么找到起始网址的url呢?接下来就是找规律的时间了。

一般来说,评论都是分页显示的,通过发送相似的url请求来访问具体某一页评论。所以,我们点击“后页”来寻找规律。

第二页,即点击第一次“后页”按钮,之后显示的页面;

第三页,即点击第二次“后页”按钮,然后显示的页面;

相信到这里,同学们已经大致知道规律了吧!

根据规律,我们可以得出《头号玩家》这部电影影评的起始网址的url其实就是https://movie.douban.com/subject/4920389/comments?start=0&limit=20&sort=new_score&status=P&percent_type=;不妨将该url复制然后在浏览器访问,看看是否是之前看到过的起始页。

虽然我们已经找到起始页的网址,但是还有一点小问题,那就是点击“后页”按钮后,显示的网页的源代码是一串json格式的字符串。

其实是因为在访问下一页评论页的时候,我们向服务器发送了过多的参数,导致服务器认为我们是想要获取json格式的字符串,所以我们可以删减一些不必要的重复性的参数。(这是经验之谈)。

https://movie.douban.com/subject/4920389/comments?start=0;这个才是起始页真正的网址url,访问该url后查看网页源代码,浏览器显示的是标准的html网页的源码,到这里我们才真正找到了起始页的url;

https://movie.douban.com/subject/4920389/comments?start=20;这是第二页即后页的网址url;同学们不妨试一下,看看是否正确,看看检查网页源代码,浏览器是否显示的是标准的html格式。

到这里,我们已经找到了起始网址url,并且知道了《头号玩家》电影影评翻页的规律。https://movie.douban.com/subject/4920389/comments?start=[参数]

接下来,将 https://movie.douban.com/subject/4920389/comments?start=0;这个 url 填入起始网址一栏,并且为我们的 任务规则命名。一般大型的网站,比如百度贴吧、豆瓣等等,只有在登录之后才能观看更多的评论内容,抓取数据也是一样的道理,只有模拟登录之后,才能抓取所有的评论内容。我们可以通过火车头采集器进行设置,模拟登录状态。

“点击设置”按钮触发之后,火车头工具显示的是;

点击红框选中的按钮“使用浏览器获取网页登录信息”,并且输入我们所需要登录的豆瓣电影的url,或者输入起始页url也可以;

然后,完成登录即可;

当导航栏中显示我们的个人用户信息之后,代表我们已经模拟登录成功,叉掉内置微型流量器页面;

到现在为止,我们已经做好了抓取数据的准备工作,接下来是抓取数据的重点——设置内容抓取规则;

3.设置内容抓取规则

首先,定义我们抓取的数据的标签,在这里我们需要获取影评时间、影评内容、影评用户、以及该影评所属的电影名称;

通过右边操作栏中加号、重命名等工具添加完成;

接下来设置每个标签的获取规则;

首先,设置标签“用户”的规则;在这里我们选择 正则提取,因为正则提取到的数据准确率比较高;并且, 将循环匹配选择框打上√;

然后,我们到网页的源代码找到显示豆瓣用户的html代码;

我们可以看出,

<divclass="avatar">

<a title="影志" href="https://www.douban.com/people/tjz230/">

<imgsrc="https://img1.doubanio.com/icon/u1005928-127.jpg"class="" />

</a>

</div>

这段代码是显示豆瓣用户的html代码,所以我们设置找到了正则提取的匹配规则([参数]代表我们想要获取的数据,(*)代表的是任意字符串都满足匹配规则);

以此类推,我们可以得出其他标签的规则;

到这一步,我们就已经设置好了标签数据的获取规则;接下来要设置的是内容分页、以及循环设置;

设置内容分页的时候,我们要在源代码中找到翻页按钮的html代码,然后提取规则;

从上面红框选中源代码中,我们可以看出翻页的html代码。

提取翻页规则时,首先要确定开始提取的区域和结束的区域;在这里,我们选择“< 前页”与“后页 >”作为我们开始和结束的字符串。

接着,我们选择手动设置规则,因为设置这种方式会使得火车头采集器在爬取数据的时候更加准确的翻页;在分页格式提取一栏中填入我们提取出的规则,即找到的翻页规律,“<a href="?start=[参数]&amp;limit=20&amp;sort=new_score&amp;status=P&amp;percent_type="data-page="" class="next">”,我们所需要的就是start后面带的那个参数,在上面我们已经讨论过原因了。

然后,在实际地址拼接一栏中,填写上我们找到的翻页规则,“https://movie.douban.com/subject/4920389/comments?start=[参数1]”。

然后进行循环设置;选择“添加为新纪录”,在分隔符的选择上,我们使用换行,而不是###,然后不足记录时使用第一条补足;

内容采集规则设置完毕;接下来进行内容采集的其他设置;

然后进行任务的其他设置;

4.其他设置

不要设置过大的线程数,虽然抓取的速度会很快,但是会被豆瓣查封IP,因为设置的线程数过多,抓取速度快,翻页的速度也快,导致豆瓣认为你不是在观看评论,而是在抓取数据。

设置完毕之后点击“保存并退出”。

5.开始任务

右击我们设置的任务规则,选择开始;(请注意,如果已经运行任务规则,需要先清空采集数据!)

其中1590就是我们任务的ID;几分钟、十几分钟过后,抓取结束。

到安装火车头的目录下的Data文件夹中选择任务ID号的文件夹,查看获取的后缀为db3的文件,里面存储了我们想要抓取的数据。该类型的文件可以在navicat premium上查看。

将db3文件拖拽到navicat客户端中,可以显示:

选中Content表,查看获取数据;

到此结束抓取!

火车头抓取豆瓣影评案例相关推荐

  1. python爬取豆瓣电影评论_使用Python抓取豆瓣影评数据的方法

    抓取豆瓣影评评分 正常的抓取 分析请求的url 里面有用的也就是start和limit参数,我尝试过修改limit参数,但是没有效果,可以认为是默认的 start参数是用来设置从第几条数据开始查询的 ...

  2. python豆瓣影评_使用Python抓取豆瓣影评数据的方法

    抓取豆瓣影评评分 正常的抓取 分析请求的url https://movie.douban.com/subject/26322642/comments?start=20&limit=20& ...

  3. csv文件操作和爬虫抓取豆瓣影评并生成词云图

    1. csv文件操作 csv文件windows默认是excel打开的,是一种表格式文件 import csv #导入csv的库 # 一次写入多行文本时,会多换一行,可以设置newline=" ...

  4. python 爬虫生成csv文件和图_csv文件操作和爬虫抓取豆瓣影评并生成词云图

    import requests from bs4 import BeautifulSoup import csv # 自定义一个抓取每页影评的方法 def getCommentByPage(url): ...

  5. python 制作高斯mask_Python3 练手项目: 抓取豆瓣陈情令评论,并制作词云图

    (点击上方公众号,可快速关注一起学Python) 链接: https://blog.csdn.net/weixin_43930694/article/details/98334465 一.项目简介 1 ...

  6. powerbi python词云图_Python 练手项目: 抓取豆瓣陈情令评论,并制作词云图

    一.项目简介 1.内容:循环抓取豆瓣影评中所有观众对<陈情令>的评论,存储在文本文档中,并运用可视化库--词云对其进行分析. 2.目标网站: https://movie.douban.co ...

  7. 数据分析与挖掘案例之使用python抓取豆瓣top250电影数据进行分析

    使用python抓取豆瓣top250电影数据进行分析 抓取豆瓣Top250电影数据的链接和电影名称 代码如下: import urllib.request as urlrequest from bs4 ...

  8. 从抓取豆瓣电影聊高性能爬虫思路(纯干货)

    从抓取豆瓣电影聊高性能爬虫思路 本篇文章将以抓取豆瓣电影信息为例来一步步介绍开发一个高性能爬虫的常见思路. 寻找数据地址 爬虫的第一步,首先我们要找到获取数据的地址.可以先到豆瓣电影 首页 去看看. ...

  9. 从抓取豆瓣电影聊高性能爬虫思路

    本篇文章将以抓取豆瓣电影信息为例来一步步介绍开发一个高性能爬虫的常见思路. 寻找数据地址 爬虫的第一步,首先我们要找到获取数据的地址.可以先到豆瓣电影 首页 去看看. 顶部导航为提供了很多种类型的入口 ...

最新文章

  1. Python实现链表
  2. beta:scrum5
  3. php 鼠标点击图片放大,css3如何实现鼠标放上图片放大?(附代码)
  4. 欠拟合和过拟合以及如何选择模型
  5. web视图引擎框架对比
  6. 1.3 更多边缘检测内容
  7. 西北大学调剂计算机,西北大学信息科学与技术学院2020年硕士考研预调剂公告...
  8. 4个独立按键实现对数码管数字显示的加减清零等
  9. 《Gradle权威指南》--Android Gradle多项目构建
  10. python工作空间_Python保存工作空间的数据(pickle your data)
  11. java 百度地图 经纬度_Java百度地图经纬度纠偏
  12. SilverLight4导航
  13. win10局域网加入工作组计算机,Win10专业版加入局域网工作组的技巧
  14. WhatsApp即时翻译WhatsApp聊天自动翻译成中文
  15. 最方便简单的经纬度查询方法
  16. linux 不工作,Ubuntu用户Steam控制器不工作解决办法
  17. 电脑重装系统之后MySQl如何恢复
  18. 进击的马云,失落的码农
  19. SSIS - Excel Destination无法接受大于255个字符长度的字符字段(转载)
  20. VS2010:error C3083: 'Windows': the symbol to the left of a '::' must be a type

热门文章

  1. Counterfactual VQA: A Cause-Effect Look at Language Bias
  2. Java框架入门篇——Spring
  3. IE选项注册表控制大全
  4. IT人士必去的10个网站
  5. 工艺夹具-减速箱体零件工艺规程及加工φ52H8孔夹具设计(论文+说明书+工艺卡+外文翻译+CAD图纸)
  6. 多重系统的引导文件详解
  7. linux单点登录命令,配置RHEV中Linux 虚拟机使用 IPA(IDM)实现单点登录的方法
  8. STM32(HAL库)流水灯配置及代码
  9. PostgreSQL执行SQL文件
  10. 【1170】计算2的N次方