配套软件版本: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个位置,再点击上下箭头,看看是否定位到了每种酒的点击位置。
Tips: xpath并不唯一。只要是能正确定位的xpath都可以。 4. 测试保存任务 点击工作台上的测试按钮,看看采集信息是否正确完整,没有问题,点击保存。 5. 启动采集 到任务管理页面,运行任务,启动采集。 启动采集后,爬虫会跳出一个采集窗口,窗口的右下角有绿色圆形的采集标志。可以观察到爬虫逐个点击各种类的酒,直至最后一个。采集完成。 采集完成后,按提示,导出excel文件。 导出的excel文件数据截图: 注意:如果动作执行前后的网页结构没有变化,可以用一个规则来完成;网页结构前后变化的话,必须用两个或以上的规则来完成;另外涉及翻页的话,也要拆成两个或以上的规则。关于连续动作要做多少个规则请查阅文章《规划采集流程》。 上篇文章:《自动输入关键词采集搜索结果信息》 下篇文章:《自动滚屏采集瀑布流网页-以今日头条新闻为例》 |