美文网首页Python,web开发,前端技术分享大数据 爬虫Python AI Sql互联网科技
Python学习笔记(19)自动搜索关键词采集信息—以京东为例

Python学习笔记(19)自动搜索关键词采集信息—以京东为例

作者: 2890bd62c72a | 来源:发表于2019-08-26 15:09 被阅读0次

    一、操作步骤

    如果网页上有搜索框,但是搜索结果页面没有独立网址,想要采集搜索结果,直接做规则是采集不到的,要先做连续动作(输入+点击)来实现自动输入关键词并搜索,然后才能采集数据。下面用京东搜索为例,演示自动搜索采集,操作步骤如下:

    二、案例规则+操作步骤

    注意:本案例京东搜索是有独立网址的,对于具有独立网址的页面,最简单的方法就是构造出每个关键词的搜索网址,然后把线索网址导入到规则里,就可以批量采集,而不是设置连续动作

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

    第一步:定义第一级规则

    1.1打开集搜客网络爬虫,输入网址并Enter,加载出网页后再点击“定义规则”按钮,看到一个浮窗显示出来,称为工作台,在上面定义规则;

    注意:这里的截图和文字说明都是集搜客网络爬虫版本 ,如果您安装的是火狐插件版,那么就没有“定义规则”按钮,而是应该运行MS谋数台

    1.2在工作台中输入一级规则的主题名,再点击“查重”,提示“该名可以使用”或“该名已被占用,可编辑:是”,就可以使用这个主题名,否则请重命名。

    1.3本级规则主要是设置连续动作,所以,整理箱可以随意抓取一个信息,用来给爬虫判断是否执行采集。双击网页上的信息,输入标签名,并打勾确认,再勾上关键内容,首次标注还要输入整理箱的名字,然后就完成标注映射了。

    Tips:为了能准确定位网页信息,点击定义规则会把整个网页定格住,不能跳转网页链接,再次点击定义规则,才会恢复回普通的网页模式。

    第二步:定义连续动作

    点击工作台的“连续动作”页签,点击新建按钮建立一个新动作,每个动作的设置方法都是一样,基本操作如下:

    2.1 ,输入目标主题名

    这里的目标主题名是填第二级主题名,点击“谁在用”查看目标主题名是否可用,如果已经被占用,换一个主题名就行

    2.2, 创建第一个动作:输入

    新建一个动作,并选择动作类型为输入。

    2.2.1,填写定位表达式

    首先鼠标单击输入框,定位输入框的节点,然后点击“自动生成XPath”按钮,可以选择“偏好id”或者“偏好class”,就可以得到输入框的xpath表达式,再点击“搜索”按钮,检查一下这个xpath是否能唯一定位到输入框,没有问题就把xpath复制到定位表达式方框里。

    注意:定位表达式里的xpath是要锁定动作对象的整个有效操作范围,具体就是指鼠标能够点击或输入成功的网页模块,不要定位到最底层的text()节点。

    2.2.2,输入关键词

    输入关键词填写你想搜索的关键词,可以输入一个关键词,也可以输入多个关键词,输入多个关键词要用双分号;;将每个关键词隔开,免费版只支持5个以内的关键词,旗舰版可以使用连发弹仓功能,支持1万以内的关键词

    2.2.3,输入动作名称

    告诉自己这一步动作是用来干嘛的,方便以后修改。

    2.3,创建第二个动作:点击

    参考2.2的操作,创建第二个动作,选择类型为点击,定位到搜索按钮,然后自动生成xpath,检验是否锁定到唯一节点,没问题的话填到定位表达式里就行了。

    2.4,存规则

    点击“存规则”按钮保存已完成的第一级规则

    第三步:定义第二级规则

    3.1,新建规则

    创建第二级规则,点击“定义规则”恢复到普通网页模式,输入关键词搜索出结果后,再次点击“定义规则”切换到做规则模式,点击左上角“规则”菜单->“新建”,输入主题名,这里的主题名就是第一级规则的连续动作里填写的目标主题名。

    3.2,标注想要采集的信息

    3.2.1,标注网页上想要采集的信息,这里是对商品名称和价格做标注,因为标注只对文本信息有效,商品详情的链接是属性节点@href,所以,不能对链接做这样的直观标注,而要做内容映射,具体看下面的操作。

    3.2.2,点击商品名称,下面的DOM节点定位到A标签,展开A标签下的attributes节点,就可以找到代表网址的@href节点,右击节点,选择“新建抓取内容“,输入一个名字,一般给这个抓取内容起一个和地址有关的名字,比如“下级网址“,或者”下级链接“等等。然后在工作台上,看到这个抓取内容有了。如果还要进入商品详情页采集,就要对着这个抓取内容勾选下级线索,做层级抓取。

    3.2.3,设置“关键内容”选项,这样爬虫才能判断出采集规则是否合适。在整理箱里选一个网页上必然能采到的标签,勾上“关键内容”。这里选择的是“名称”做为“关键内容”。

    3.2.4,前面只对一个商品做标注,也就能得到一个商品信息,如果想把一整页上每一个商品都采集下来,可以做样例复制,不懂的请参考基础教程《采集列表数据》

    3.3,设置翻页路线

    在爬虫路线设置翻页,这里用的是记号线索,不懂的请参考基础教程《设置翻页采集》

    3.4,存规则

    点击“测试”,检查信息完整性。不完整的话,重新标注就可以覆盖之前的内容。检查没问题后点击“存规则”。

    第四步:抓数据

    4.1,连续动作是连续执行的,所以只要运行第一级主题,第二级主题不用运行。打开DS打数机,搜索出第一级主题名,点击“单搜”或“集搜”,此时可以看到浏览器窗口里会自动输入关键词并且搜索,然后调用第二级主题自动采集搜索结果。

    4.2,第一级主题没采到有意义的信息,所以,我们只看第二级主题的文件夹,就能看到采集的搜索结果数据,并且搜索的关键词是默认记录在xml文件的actionvalue字段中,这样就能一一对应起来。

    相关文章

      网友评论

        本文标题:Python学习笔记(19)自动搜索关键词采集信息—以京东为例

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