爬网址做层级采集——以京东商品爬虫为例

2020-11-27 16:15| 发布者: Fuller| 查看: 16994| 评论: 0

摘要: 前面写过两篇教程,《采集列表数据》是采集京东商城的列表页,《采集网页数据》是采集京东商品详情页,很多人想把这两个串在一起,这样就能批量采集商品的数据了 ... ... ... ... ... ... ... ... ... ... ... ... . ...

       配套软件版本:V10及更高 数据管家——增强版网络爬虫

       老版本对应教程:V9及更低 集搜客网络爬虫 的对应教程是《采网址做层级采集——以大众点评为例


1. 操作步骤(观看视频)

前面的教程《采集列表数据》是采集京东商城的列表页。在列表页点击商品,会进入到商品的详情页,在详情页上也有很多信息,比如商品的优惠信息,促销信息,库存,评论等等。爬虫可以通过层级抓取的方法,在列表页采集到商品的链接,然后深入到商品详情页去批量采集商品信息。

需要做两级采集任务,第一级任务在列表页上采集数据,尤其是商品的链接,并指定第二级任务的名字。第二级任务采集商品详情页的数据。第一级任务会把采集到的商品链接批量传递给第二级任务。通过第二级任务的名字把这两个任务关联在一起。

下面还是以京东为例,讲解如何设置层级采集。操作步骤如下:


2. 操作步骤详解

第一级采集任务:京东商品列表采集new(可点击下载第一级任务

第一级样本网址:https://search.jd.com/Search?keyword=%E5%B0%8F%E7%B1%B3&enc=utf-8&pvid=6a1e1a162bff4eaba55dfcdef7029257

第一级采集内容:每一个商品的标题,价格,评论数,店铺名称,商品链接

第二级采集任务:京东商品详情采集new(可点击下载第二级任务

第二级样本网址:https://item.jd.com/69030695935.html

第二级采集内容:每一个商品的标题,优惠券信息


第一步:定义第一级任务

定义任务的基本操作,比如内容标注,样例复制见教程《采集列表数据》,翻页操作见《翻页采集列表》。这里只讲解层级采集关键的几步操作。

把前面教程里采集京东列表的任务(京东商品列表采集new)加载出来。如果你的工作台,这个任务还没有退出,直接往下做就可以了,不需要另外加载。

第二步:设置下级线索

2.1,找到下级(网址)链接

网页上的商品的链接,通常是存在DOM里A节点下的@href属性节点中。

在网页上点击商品的商品名称,观察下面的DOM窗口,光标定位到一个节点,如果不是A节点,沿着DOM节点向上或者向下找到A节点。


点击A节点,观察DOM窗口左边的查看元素小窗口,找到@href,注意要检验它的值是否为对应的商品链接。


鼠标右键@href,选择“内容映射”->“新建”。这样就把@href的值(商品链接)映射给了一个新的抓取内容。

一个新窗口弹出来,要求给这个抓取内容起个字段名,本例中,起名“商品详情链接”。


2.2,命名下级任务

继续在上面窗口操作,因为我们观察到@href里的商品链接缺少前面“http”部分的,这种就是相对网址,可以勾选上“补全网址”,爬虫采集过程中会自动进行补全。

最重要的一步操作是勾选“下级网址”。勾选后,紧接着下面出现个提示栏,要求输入目标任务名,层级抓取里,这里要输入第二级任务的名字。

输入第二级任务的名字:京东商品详情采集new

2.3,现在看到左边的工作台上已经添加了一项抓取内容:商品详情链接,测试看看有没有抓到。如果没有问题,保存任务。


第三步:定义第二级任务

3.1,退出第一级任务

如下图,点击右上角“三个点”的操作按钮,显示出来下拉菜单,选择“退出”后,浏览器就进入了普通浏览模式,此时就可以点击页面上的某个商品,进入商品详情页面。


3.2,定义第二级任务

现在已经在商品详情页面了,点击左侧栏的“+”号,进入定义任务状态,开始定义第二级任务。

任务名输入框要填第二级任务名,本例中,在第一级任务中已经指定了第二级任务的名字:京东商品详情采集new,那么在这里填的时候一定要一致,否则,网络爬虫连不成两级任务。

接下来,就要在商品详情页标注想要的信息。标注的操作都是差不多的,可以参看《采集网页数据》教程,这里就不重复讲了。

再次提示:这一步最重要的是,我们新建的第二级任务名称,要和第一级任务指定的目标任务名相同,这样第一级任务才能把抓到的网址链接传递给第二级任务。

3.3,存第二级任务

定义完第二级任务,点击“保存”按钮,会看到下面的提示,早期版本按照第一图弹出提示框,后期版本按照第二图弹出提示框,都是提示用户,第二级规则的任务名已经存在了,这是正常的提示,因为在定义第一级任务的时候已经指定了第二级的任务名。


第四步:抓数据

4.1,层级任务是分开独立运行的,先运行第一级任务,它就会把抓到的下级网址自动导入到第二级任务里。运行方法参看下面截图,只需在任务管理界面上选择对应任务的“启动采集”菜单。

4.2,再运行第二级任务,可以先统计一下线索数,然后就可以输入统计到的网址数,进行批量采集。

两级任务也可以同时运行,其实也可以不分先后。如果两级要同时运行,就如下图所示,在任务管理界面上,分别点击每个任务的“启动采集


4.3,采集完成后直接点击“导出Excel”按钮,就可以到数据管理里下载Excel格式的数据了。


tips:第二级任务里,采集优惠券信息,用了嵌套的样例复制,可以参考后面的教程。

上篇文章:《爬虫任务的加载、修改和另存》                                    下篇文章:《内容映射


6

鲜花
2

握手
1

雷人

路过
1

鸡蛋

刚表态过的朋友 (10 人)

最新评论

GMT+8, 2024-10-4 20:35