自动点击京东商品价格条件,智能采集价格数据

2021-3-3 16:40| 发布者: Fuller| 查看: 10470| 评论: 2

摘要: 现在不少动态网页需要交互操作,才能浏览到最终数据,而集搜客爬虫的连续动作可以模拟人在浏览网页时的操作,从而采集到最终显示出来的数据。连续动作的难点是:怎样写xpath。我们需要用xpath告诉爬虫,去哪个位置进 ...

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

老版本对应教程:V9及更低 集搜客网络爬虫 的对应教程是《自动点击京东商品价格条件,智能采集价格数据


现在不少动态网页需要交互操作,才能浏览到最终数据,而集搜客爬虫的连续动作可以模拟人在浏览网页时的操作,从而采集到最终显示出来的数据。

连续动作的难点是:怎样写xpath。我们需要用xpath告诉爬虫,去哪个位置进行操作。xpath的教程参见《自定义xpath》 。

下面我们用一个京东商品页面的例子,来讲解如何自动点击商品的不同型号,来采集到不同的价格。

案例任务:

样本网址:https://item.jd.com/962925.html

任务下载:JD-GREAT

抓取内容:商品名字,价格


1. 打开网页


2. 标注要采集的内容

在这个网页上,我们要采集两个字段,商品名和价格。双击商品名字,在提示框中输入字段名,本任务中,商品的字段名字是wine,价格的字段名是price。字段名字随意,但是最好有实际意义。第一次标注时,还要输入表名,本例中,表名是detail。详细的标注过程可以参见《采集网页数据


3. 设置连续动作

标注完成后,点击工作台上的4,进入连续动作设置。

3.1点击新建,新建一个点击动作

3.2动作后执行

做了点击动作后,要执行的任务名字。做了点击动作后,虽然出现了新的商品名和价格,但是我们依然要采集商品名和价格,而且网页的结构没有变化。所以做了点击动作后,依然执行原来的任务,还是JD-GREAT。

3.2 交互位置:这里要填写定位点击动作的xpath

这是个难点。在页面上有九种型号的酒,所以我们要写出正确的xpath,能覆盖到这九个位置。然后,爬虫会自动地逐个点击这九个位置。

下面说明怎么选择和测试Xpath。

点击第一种酒,光标对应到下面的DOM节点。


然后点击DOM窗口和网页窗口之间的生成xpath栏,


得到当前DOM节点的xpath。


点击xpath栏后面的搜索按钮,看看这个xpath能对应到几个位置。


发现搜索结果是1/1,说明这个xpath只能对应到一个位置。显然,这个xpath不是我们所需要的。

但是我们可以观察9个位置的特点,对这个xpath进行改造。这9个位置都是DIV节点下的a节点下的i节点,简写成DIV/a/i  而且,这些DIV还有个特点,它们的class属性都含有item。


根据xpath的语法,我们把原来的xpath改写成 //*[contains(@class,'item')]/a/i  然后把它复制粘贴到xpath栏,搜索一下,发现定位到了9个位置,再点击上下箭头,看看是否定位到了每种酒的点击位置。


经过测试,我们发现定位到了9种酒的位置,是符合要求的。把这个xpath复制粘贴到工作台上的交互位置。

Tips: xpath并不唯一。只要是能正确定位的xpath都可以。


4. 测试保存任务

点击工作台上的测试按钮,看看采集信息是否正确完整,没有问题,点击保存。


5. 启动采集

到任务管理页面,运行任务,启动采集。




启动采集后,爬虫会跳出一个采集窗口,窗口的右下角有绿色圆形的采集标志。可以观察到爬虫逐个点击各种类的酒,直至最后一个。采集完成。

采集完成后,按提示,导出excel文件。


导出的excel文件数据截图:


注意:如果动作执行前后的网页结构没有变化,可以用一个规则来完成;网页结构前后变化的话,必须用两个或以上的规则来完成;另外涉及翻页的话,也要拆成两个或以上的规则。关于连续动作要做多少个规则请查阅文章《规划采集流程》。


上篇文章:《自动输入关键词采集搜索结果信息》         下篇文章:《自动滚屏采集瀑布流网页-以今日头条新闻为例 


鲜花

握手

雷人

路过

鸡蛋
发表评论

最新评论

评论 Fuller 2021-10-9 15:43
liaost: 我照着做,为什么只爬了一条价格
你在论坛中发一个帖子,把你的规则名发出来,我可以加载测试一样。到论坛那里发,那里可以贴图:https://www.gooseeker.com/doc/forum-54-1.html
评论 liaost 2021-10-9 15:05
我照着做,为什么只爬了一条价格

查看全部评论(2)

GMT+8, 2024-10-4 19:28