本文介绍使用八爪鱼采集淘宝卖家信息的方法首先会为大家讲解,我们拿到一个数据采集需求时,如何去分析需求;怎样设计采集流程;最后制作并调试采集规则。希望大家可以建立一套通用采集逻辑,明白基本的操作思路。


操作思路:

 

采集网站:

https://shopsearch.taobao.com/search?app=shopsearch&q=江小白&isb=0&shop_type=&ratesum=

 

本文以“江小白”为关键词先在淘宝网进行店铺搜索,然后店铺类型选择“淘宝店”。最后以此时的网址为采集网址,放入八爪鱼中进行任务制作并采集数据。大家在采集其他店铺时,可以更换搜索关键词,然后将生成的网址复制黏贴到八爪鱼中进行使用。

采集内容:店铺名称,店铺ID,店铺类型,宝贝数,商品销量,店铺省份,店铺城市,店铺旺旺号。

 

使用功能点:

l 数据格式化

l 添加特殊字段

l XPath

l 滚动页面

l Ajax超时

 

步骤1:创建淘宝卖家信息采集任务

1)进入主界面,选择自定义采集

 

淘宝卖家信息采集步骤1

 

2)将要采集的网址URL复制粘贴到网站输入框中,点击“保存网址

 

淘宝卖家信息采集步骤2

 

步骤2:创建翻页循环

1)打开网页之后,找到页面最下方的“下一页”创建翻页循环,如下图

 

淘宝卖家信息采集步骤3

点击下一页,在操作提示中选择循环点击下一页,以此生成循环翻页。注意:有时点击下一页并不会出现循环点击下一页,但若此时出现循环点击单个链接,则可以选则循环点击单个链接(或元素),其功能和循环点击下一页相同。

 

 

淘宝卖家信息采集步骤4

步骤3创建循环列表

1)将鼠标移动到页面上方(蓝色表示点击后会选中的元素),选择页面某一行数据(包含的字段进可能全),如图蓝色部分,然后点击


淘宝卖家信息采集步骤5

 

2)点击后继续选择下一行同类型的数据,如图:

 

 

淘宝卖家信息采集步骤6

 

再次点击,操作提示中出现已选中XX个元素,以下是列表。此时点击采集以下元素。


淘宝卖家信息采集步骤7

 

3)至此循环列表创建完毕。

 

淘宝卖家信息采集步骤8

 

 

步骤4提取数据设置

1)自动生成的数据字段会将匹配到的文本和链接都抓取上,其中不需要的字段可点击选中后删除。

 

 

淘宝卖家信息采集步骤9

注:若太多字段是自己不需要的,可点中某一个字段后,同时按住键盘上的Ctrl和A,即可选中全部字段,然后点击下方的“删除数据字段”。

 

 

淘宝卖家信息采集步骤10

 

 

 

删除字段后再一个个选择自己需要的字段。如图,选中后点击,然后需求选择采集该链接的文本”或“采集该链接地址”还是“采集该元素的文本”。此时一般不要点击“选中全部”,点“选中全部”后会再生成一个循环提取数据。之前步骤3中的操作已建立好了循环列表。故不需要再次建立

 

 

淘宝卖家信息采集步骤11

 

 

2)删除不需要字段(或点击采集所需字段)后,对现有字段进行重命名。

 

 

淘宝卖家信息采集步骤12

 

 

 

3)命名后检查字段发现部分字段缺失。如“城市”“店铺ID”“店铺类型”。

 

 

淘宝卖家信息采集步骤13

 

4)对于“城市”,检查页面发现在第三行数据中有相应信息。则先在循环列表循环项中选中第三项(蓝色表示已选中),然后再点击提取数据。

 

淘宝卖家信息采集步骤14

 

 

淘宝卖家信息采集步骤15

1)选中第三项进行提取时发现其省份和城市在一起,无法单独提取。如需分成两个字段,则需要进行数据格式,通过正则表达来实现。

 

2)选中字段后点击下方的自定义数据字段。

 

 

淘宝卖家信息采集步骤16

 

3)数据格式化操作参照请参考下方动图。如需完整的格式教程请参考:/tutorialdetail-1/gshsj_7.html

 

淘宝卖家信息采集步骤17

 

 

4)对于“店铺ID”,先弄清楚“店铺ID”是个什么类型的数据,然后页面上未展现,则看看网页源码里是否有这个数据。百度后可知“店铺ID”是shop后接一串数字的数据,如“shop123123123”。查看源码,发现可以找到该信息。

5)准备工具:火狐浏览器(54版或之前版本),安装firebug和firepath插件。其他工具能查看源码斌顺利写XPath也可以。

A. 在浏览器中打开网页,然后找到对应的数据区域

B. 逐个检查该区域源码,找到符合要求是数据。

 

淘宝卖家信息采集步骤18

 

C. 根据目标数据——点评ID,所在位置写出其XPath路径。此处的XPath路径为://li/a[@trace="shop"]

 

淘宝卖家信息采集步骤19

 

9)点击网页图片选择抓取图片地址(选择其他的也可以,重点是生成一个数据字段并含有相对XPath)。

淘宝卖家信息采集步骤20

10)选择自定义字段,对该字段进行XPath和提取方式的修改。

 

 

淘宝卖家信息采集步骤21

 

A.修改XPath,选择“自定义元素定位方式”,然后将相对XPath替换为之前在浏览器中写好的XPath——//li/a[@trace="shop"]

 

淘宝卖家信息采集步骤22

 

淘宝卖家信息采集步骤23

 

淘宝卖家信息采集步骤24

B:修改该字段的抓取方式,选择“自定义抓取方式”

 

淘宝卖家信息采集步骤25

 

此处选择“抓取超链接(A标签的href)”,因为该店铺ID 在其href属性下。如果我们需要的数据在其他属性中,也可以通过上方的“抓取元素的指定属性值”来获取。要是均不能获取到,则选择抓取网页源码。选择完毕后点击下方“确定”进行保存。

 

淘宝卖家信息采集步骤26

 

12)对数据进行格式化处理

淘宝卖家信息采集步骤27

A.选择“正则表达式匹配”

 

淘宝卖家信息采集步骤28

 

 

B. 再选择使用正则工具

 

淘宝卖家信息采集步骤29

C. “shop”为开始并包含“shop”,以“.”为结束标志。生成正则表达式后即可进行应用,然后点确定保存。

 

淘宝卖家信息采集步骤30

13)对于“店铺类型”,网页和源码中无此字段。我们可以设置固定值来增加该字段。选择“添加特殊字段”→“添加固定字段”→输入值“白酒”→“确定”保存。

 

淘宝卖家信息采集步骤31

 

14)调整字段顺序后点击“开始采集”进行本地采集测试。

 

淘宝卖家信息采集步骤32

 

步骤5采集与调试

1)选择“启动本地采集”

 


淘宝卖家信息采集步骤33

2)仔细观察本地采集时的运行情况。

 

 淘宝卖家信息采集步骤34


发现:

1. 采集量过少,出现漏数据。第一页明明有20条数据,实际只采集到6条。

原因:网页是滚动下拉加载数据,页面加载到下方才会展现相应的数据。

解决方法:在“打开网页”和“点击翻页”的高级选项中设置“滚动页面”,次数,间隔,方式应根据网站的实际加载情况来设置。

 

 淘宝卖家信息采集步骤35

2. 采集出现大量重复数据,仔细观察采集情况发现其一直在一二页来回采,手动执行流程也发现第二次点击翻页后,页面跳回了第一页。

原因:循环翻页的XPath不对

解决方法:修改翻页循环的XPath,以求在每一页(除最后一页)均内定位到“下一页”,在分析网页源码后写出正确的XPath为://li/a[@trace="srp_bottom_pagedown"]将此XPath替换循环原有XPath

此类问题可在教程中心搜索“一二页重复”一获得更详细的教程。

 

 淘宝卖家信息采集步骤36

 

 

 淘宝卖家信息采集步骤37

3. 采集速度过慢,页面在翻页后要等待较长时间(超过两分钟)才会执行下一步操作。

原因:网页打开慢,八爪鱼未能检测到页面加载完全的从而接收不到执行下一步的信号,故会按一个默认时间(两分钟)进行等待。

解决方案:对“点击翻页”设置ajax超时,使八爪鱼提前获得信号,强制进行下一步操作,从而提高采集速度。Ajax超时时间请根据所需数据加载完的时长来设置。本例设置如下:

 

 淘宝卖家信息采集步骤38

3) 问题解决,流程调试完成后再次启动本地采集。


淘宝卖家信息采集步骤39

 

4)采集完成后,会跳出提示,选择“导出数据”,选择“合适的导出方式”,将采集好的数据导出, 这里我们选择excel作为导出为格式,此时淘宝卖家信息就顺利导出来,数据导出后如下图:

 

淘宝卖家信息采集步骤40

 

至此,整个采集完成!

 

 

 

 

授人以鱼不如授人以渔

----作者按