Python学习笔记(13) 爬虫模拟点击抓取京东商品评论

作者: 2890bd62c72a | 来源:发表于2019-08-17 15:29 被阅读2次

    有些网站是一开始不显示评论,需要点击累计评论才会显示出评论区的内容,比如蘑菇街;另外一些网站是要滚屏很久才显示出评论内容,比如淘宝京东,这两类情况下都要做模拟点击,直接点开评论区再做采集,这样做的好处是,可以精确到目标范围,省却没必要的加载时间,下面以采集京东商品累计评论为例,介绍一下怎么做模拟点击。

    在做抓取规则时需要做两级规则实现模拟点击,第一级规则负责点击,第二级规则负责抓取点击后显示的内容。

    模拟点击和翻页抓取类似,都需要在爬虫路线中设置记号线索,不同的是,点击翻页之后,在同一爬虫窗口继续用当前规则进行抓取;而模拟点击则是,点击网页后,在同一爬虫窗口调用下一级规则进行抓取。

    如果你依然在编程的世界里迷茫,可以加入我们的Python学习扣qun:784758214,看看前辈们是如何学习的!交流经验!自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地

    一、创建第一级规则

    1,打开网页

    我们首先用GS浏览器访问一个商品样本页面,记得先不要点进评论区,然后点击顶部的“定义规则”按钮,开始做第一级规则。

    2,标注抓取内容

    第一级规则的主要目的是实现模拟点击,可以不抓取任何内容,但是为了判读是否执行成功,我们通常会抓取任意网页信息,并且设置关键内容。这里选择抓取商品名称,双击它,然后输入标签名字,打勾确认,前面没有输入主题名,所以会提醒输入主题名和整理箱名字,输入完再做下一步。

    3,做翻页区映射

    在浏览器窗口里点击商品评价页签,选中的区域会加上黄色背景,同时底部dom窗口会自动定位到一个网页节点,对这个节点右击,接着选择“翻页映射->作为翻页区->新建线索”,然后在工作台会看到爬取路线自动创建了一个记号线索,并且翻页区显示了刚才映射节点的定位编号,说明映射成功了;

    4,找出翻页记号节点

    在dom里双击这个节点展开,把它包含的下级节点都点一下,在右侧的文本内容框里会看到节点信息,找到”商品评价”的text节点,这个节点的作用就是一个点击记号,有它在爬虫才会点击;

    5,做翻页记号映射

    然后右击这个text节点,选择“翻页映射->作为翻页记号”;

    6,修改目标主题名

    点击之后就会切换到评论页,网页结构就变了,这里不能像翻页那样用同一个目标主题名,而是要指向第二级规则,所以,要把目标主题名改成第二级规则的名字,这里是先预定主题名,所以记得要点击一下谁在用,检查有没有重名;

    7,点击右上角的存规则

    二、 创建第二级规则

    1,新建规则

    保存完第一级规则后,再点击左上角的“规则”菜单,然后点击“新建”,它就会自动清空第一级规则的内容,然后开始创建第二级规则。

    2,点进评论区页面

    要对评论做规则,首先要点进评论区页面,操作是:取消勾选内容定位,点击商品评论,重新勾上内容定位,再点规则菜单->刷新网页结构,这样就完成页面的切换;

    3,标注想采的评论内容

    双击用户名称进行标注,打勾确认,首次标注要输入主题名、整理箱名,这里的主题名一定要输入前面预定好的第二级规则的名字。

    依次双击想要采集的评论内容、评论日期等信息,输入标签名,打勾确认;

    4,测试预览结果

    点击工作台上的测试按钮,预览输出的数据结果,可以看到第一条评论数据,如果想要把一整页的评论抓取下来,还要做样例复制映射,操作参考笔记:采集列表数据

    5,点击右上角的存规则按钮

    三、 采集数据

    做好两级规则后,就可以采集数据了,特别要注意的是,模拟点击是连贯动作,因此,只要运行第一级规则,爬虫就会自动调用第二级规则进行抓取。另外,不要单独运行第二级规则,因为没有点击就不会有第二级要采集的网页数据,也就会采集失败。

    运行DS打数机之前,要设置滚屏参数,把滚屏功能打开,操作是:选择配置菜单—>滚屏参数,把滚屏次数设置成>0的数字,比如2就行。

    相关文章

      网友评论

        本文标题:Python学习笔记(13) 爬虫模拟点击抓取京东商品评论

        本文链接:https://www.haomeiwen.com/subject/cudrjctx.html