观看视频教程
从网站上采集数据,尤其采集大型网站时,被采集的数据往往位于网站的不同层级的网页上,要采集从当前页面(第一级页面)点击后弹出的网页(第二级页面)的内容时就要规划DS打数机的爬行路线,实现层级抓取。 实现层级抓取需要做两级规则,第一级规则抓取第二级页面的网址,作为第二级抓取规则的线索。第二级规则确定要抓取网页上的那些内容。下面以京东搜索列表(第一级)和京东产品页详细页面(第二级)为例来讲解具体的步骤。
创建第一级规则
图1 定义第一级规则抓取第二级网址 图1步骤分解:
注释,做完内容映射后,可以点击测试按钮,看看抓取的内容是否正确,如果正确,接下来做样例复制映射,才能把所有商品抓下来,从而就能抓取网页上所有第二级页面地址,样例复制管理功能本章不再详述,请看经验合集:http://www.gooseeker.com/doc/thread-706-1-1.html
图2 规划爬虫路线 图2步骤分解:
创建第二级抓取规则
图3 填写第一级中预定的主题名 图3步骤分解:
图4 定义第二级抓取规则 将网页上的目标抓取内容映射到整理箱中后保存规则。
图5 启动DS打数机 第一级规则成功运行后会为第二级规则产生线索,统计第二级规则线索就可以看到第一级为第二级生成的线索。
图6 手动输出要抓取线索数 手工用DS打数机抓取第二级网页时,在线索框内输入多少条线索,打数机一次性就会抓取几条,比如这次输入了56条,打数机一次性就会抓取56个网页。
Tips:层级规则抓取数据步骤 两级抓取规则定义完成后,就可以用DS打数机进行数据抓取了。既可以手工启动DS打数机:先抓取第一级然后抓取第二级;又可以使用定时自启动功能进行自动抓取,而且可以将两级抓取放在两个不同的线程中并行抓取,甚至因为第二级数据比较多从而启动更多个线程或分布在多台计算机上。用户对两级抓取可能一开始理解的不正确,请注意:DS打数机并不能自动从第一级导航到第二级,而是像搜索引擎的网络爬虫一样同等对待这两级,所以这两个可以并行在两个线程中分别抓取。 Tips:第一级规则采集到的不完整网址会自动补全,不影响第二级网页的抓取 层级抓取时,第一级要抓网址,部分网站上采集到网页链接是缺少域名的网址,这是正常现象,因为很多网站内部的网页是用相对网址显示的,所以就只能看到缺少域名的网址,但是这不会影响集搜客抓取数据,DS打数机在第一级网址时,会把域名自动补上再生成下级线索,虽然数据文件里显示的是不完整的网址,但是给下一级生成的线索网址是具有域名的完整网址。 Tips:为什么层级网页的第二级或更深级别的失败率很高? 在抓取层级网页时,一般来说,第二级或更深级别的页面大部分是具有多种网页结构形式的,而一个网页结构需要一个规则来抓取,这就说明,第二级网页或更深级别的网页只做一个规则是不足以抓取到全部页面的数据,当规则与网页结构不匹配时就会抓取失败,所以,通常是要分析网页有多少种结构,然后针对每一种网页结构做规则,这样,第二级网页或更深级别的网页就要根据实际情况来做多个抓取规则,通过在一个主题名下做多个规则(用规则编号区分就可以),这样,第一级规则的网址还是指向一个主题名就可以了。当然,熟练使用集搜客软件的人是可以根据不同网页结构的共同点,制作出一个通用的规则来抓取全部网页数据,这样就能用最少量的规则来抓取数据。 |
Jason7227: 我现在遇到的问题是,第一层级和第二层级线索有关联了,但是第三层级和第二层级没有上下关系,下级关系那里我已经设置了第三层级,但是第二层级运行采集的网址不 ...
Jason7227: 我现在遇到的问题是,第一层级和第二层级线索有关联了,但是第三层级和第二层级没有上下关系,下级关系那里我已经设置了第三层级,但是第二层级运行采集的网址不 ...
Fuller: 如果你按照这个教程做的层级抓取,那么每一层都是独立运行的,前一层为后一层生成线索,但是他们的运行顺序没有绑死,你还可以用爬虫群模式同时运行3个窗口,每 ...
Jason7227: 如何进行第三层级页面信息抓取呢?
ShelleyWu: 请问如果下级的不是特定指向的url, 而是javascript, 目前有办法做处理吗?
mz2358639: 如果是需要第一级网址翻页,要怎么办?
lalalaav: 为什么我完成这一步“ 在爬虫路线工作台填写下级线索指向的规则主题名,也就是第二级规则抓取京东产品页面的规则”点保存时,出现了“保存信息结构描述文件失 ...