NO.3 火车头循环标签与图片采集

火车头标签的采集默认采集第一个匹配的数据,当网页里需要采集相同结构的多个数据时,可以使用循环标签采集。下面以在库言库为例,采集在库言库网站某一分类下所有案例的标题和图片。

一、获取分页网址

  1. 新建一个采集任务,设置初始网址http://www.ikuku.cn/category/program/educational_facilities/museume,分页网址的采集可以构造等差数列,改变page的参数来获取,这里因为网站源代码中有下一页的链接,也可以通过列表分页循环获取下一页的地址。
  2. 添加多级网址获取,选择列表分页获取标签。在网页源代码中找到下一页链接的地址,可以在<a href="..." class="selected_paged">..</a>标签的下一个标签便是下一页的链接,以此来定位下一页链接位置区间。

  1. 点击浏览器登录,获取cookie。
  2. 点击测试网址采集,注意此时火车头在找到分页网址后会继续在分页网址源代码内查找网页链接得到第二级网址,这是我们不需要的。可以在网址获取选项的必须包含里添加一段随机数过滤二级网址。

5.点击测试网址采集,将采集到的分页网址导出到urls.txt。

二、获取循环标签

在库言库的每个案例信息都保存在相似的标签结构内,通过循环获取相似标签即可抓取案例信息。

  1. 将上一步获取的分页信息作为初始网址导入。
  2. 点击采集内容规则,添加新标签title,在网页源代码中定位标题文字所在的标签位置,并将该标签循环匹配勾上。
  3. 点击标签循环处理,选择添加为新纪录,测试结果可以看到,当前页面的案例标题已经被循环抓取到。用相同的处理,抓取其他信息。

三、图片采集与保存

同样,用循环标签采集可以抓取每个案例图片的链接,并下载。

  1. 新建imgurl标签,在网页源代码中找到案例图片的定位标签<img width="250" height="200" src="http://www.ikuku.cn/wp-content/themes/ikuku2.1/images/noImage.jpg" loadsrc="http://www.ikuku.cn/wp-content/uploads/user/u1497/POST/p257533/1463030018769299-250x200.jpg" />,用标签前后字符串将img标签完整地截取下来,火车头可以自动识别img标签中的链接并下载。
  2. 但由于此img标签中有两个链接,第一个链接为图片加载失败时显示的空白图片,第二个链接才是真正的案例图片链接,因此此处要添加一个内容替换,将空白图的链接去掉。
  3. 勾选将相对地址补全为绝对地址下载图片。设置好文件保存目录和文件名,这里是用title标签作为案例图片的文件名。(注:填写文件保存目录是因为mg均为火车头变量字符,因此前面需添加\转义成普通字符
  4. 点击测试,此时可看到,案例图片已经被识别并下载下来。
  5. 测试无误后,选择发布内容设置,这里与之前保存网页信息的设置一致。选择保存位置,更改模版文件。
  6. 点击文件保存及部分高级设置,选择所有文件保存文件夹。

7.保存任务文件,运行采集任务。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s