配套软件版本:V10及更高 数据管家——增强版网络爬虫 老版本对应教程:V9及更低 集搜客网络爬虫 的对应教程是《采集列表数据》 一个Excel表有很多行,每行都有相同的字段。在网页上,虽然很多数据看起来不像一个表,但是本质上是一样的。比如,京东网站的商品搜索结果页面,每个商品占一个方块,每个商品有名字、价格、评论数和店铺名字,这些信息就是表格中的字段,而每个商品相当于一行,很多商品就有很多行。 可见,在网页上虽然看起来是一些方块的排列,采集下来的数据实际上是一个Excel列表。本章就是讲解怎样采集这样的列表网页数据。 1. 操作步骤(观看视频) 网络爬虫软件采集列表网页时,可以看到多条结构相同的信息块,我们把一个信息块称为一个样例,例如,网页表格中的每一行就是一个样例,又如,京东搜索列表中的每个商品也是一个样例。为了让网络爬虫知道所有商品的排放规律,就需要把前两个样例告诉爬虫,这就是下面多次提到的“样例复制”,含义就是:告诉我两个样例在哪里,我就能推算出所有商品的排放规律,然后自动去采集。 下面京东列表页为案例,操作步骤下: 2. 操作步骤详解 采集规则:京东商品列表采集new(可点击下载本采集规则) 样本网址:https://search.jd.com/Search?keyword=%E5%B0%8F%E7%B1%B3&enc=utf-8&pvid=6a1e1a162bff4eaba55dfcdef7029257 采集内容:每一个商品的标题,价格,评论数,店铺名称 第一步:打开网页 1.1 打开网页,看到要采集的内容 打开网络爬虫软件,输入上述样本网址并Enter,加载出网页后先观察一下要采集的内容是否加载全了。 有些网页很长,如果要采集网页下端的内容,一定要拉动网页右侧的滚动条,确认看到了要采集的内容。 1.2 创建采集任务 加载出网页后,再点击左侧边栏最上面的加号(“+”)新建任务,进入定义任务状态。 在工作台中输入任务名,如果名字已被占用,会在输入框下面有红色的提示信息,需要改名。 然后点击“下一步”,进入第二步。 第二步:标注需要采集的信息 注意:下面的标注操作一定要在第一个样例中做。在本教程中,第一个样例就是列表中的第一个商品。不能一部分标注在第一个样例,另一部分标注在其他样例上。否则,采集下来的列表可能会缺字段或者错位。 2.1,在网页上做标注 在浏览器窗口双击第一个商品的名称,在弹出小窗中输入字段名,打勾确认或Enter,即完成了一个标注操作。首次标注还要输入表名(表名是爬虫要输出的excel表格的名字,也是工作台上整理箱的名字) 2.2,标注更多内容 重复上一步骤,对第一个商品的价格,评论数,店铺名进行标注。可以看到表名和已经标注的字段会出现在左侧的任务定义工作台上。 第三步:样例复制 3.1,映射第一个样例 点击第一个样例(即第一商品)里的任一内容,可以看到,在下面的DOM窗口,光标自动定位到了一个节点,选中这个节点,点击鼠标右键,选择弹出菜单中的 样例映射→样例1 → 整理箱名字 。其中,整理箱名字 不是固定的,如下图,在这个任务是“京东列表”。如果定义的整理箱结构是多层次的,大整理箱下面还包含子整理箱,那么这个菜单项就会有多项。 3.2,映射第二个样例 接着,点击第二个样例里(第二个商品)的任一内容,同样,在下面的DOM窗口,光标自动定位到了一个节点。类似于样例1的操作,选中这个DOM节点,选择 样例映射→样例2 → 京东列表。注意观察,如果两个样例选择合适的话,第二个样例复制完成后,在浏览器页面上会分别有两个蓝框围绕这两个样例闪动三下。 3.3,测试和调整 点击规则定义区里的“测试”按钮, 观察是不是把所有商品采集到了,有没有漏字段,有没有错位的情况。 测试后,我们发现,只采集到了一条数据。怎么办?样例复制的时候,经常会遇到这样的情况。这时,可以调整整理箱定位方式。对于这个京东列表页面,我们发现把整理箱定位方式改为“绝对定位” ,可以采集到所有的商品。 再次点击“测试”,会在测试结果里看到已经包含所有的商品了。这样就完成了样例复制映射。 第四步:存规则,抓数据 4.1,规则测试成功后,点击“保存”; 4.2,点击“采数据”,会自动新打开一个采集窗口,可以指定采集几条网址,也可以指定翻页次数,然后就开始抓取数据。在本篇教程中,我们还没有做翻页,所以只能采集1页,翻页次数设定为1。 4.3,采集完成后会显示一个状态界面,按提示,点击导出数据按钮后,会自动跳到数据管理界面上,在那里下载excel格式的数据。 如果想看原始结果数据,原始数据会以xml文件的形式保存在DataScraperWorks文件夹中,详情见文章《查看数据结果》。 上篇文章:《定义规则采集网页数据》 下篇文章:《网络爬虫软件翻页采集列表数据》 |