ForeSpider采集图片

采集图片

采集图片根据各个页面图片的位置和数量情况,分为两种方式:

每页面的图片情况 位置固定 位置不固定
数量一定
数量基本一定且不多
数量非常不固定且较多

图片看似与其他内容在一个页面,从本质上实际是通过图片地址显示在这个页面上的。在图片的位置一定的情况下,方式一可以直接采集到图片。而当图片的位置不固定,需要通过方式二,先抽取图片的地址,再通过地址采集到图片。(任何情况都可以使用方式二,即方式一是一种简化方法。)

①方式一:字段取值类型为图片字段(一个模板,一张数据表)

为图片字段在内置浏览器上定位取值,直接采集到图片。

②方式二:两张数据表通过外键关联(两个模板,两张数据表)

先抽取出图片的链接地址,各图片与原页面通过数据表外键的方式关联起来,显示在两张数据表里。但是两张表的图片id是关联的。

下面分别介绍两种方式:



一.固定位置的图片:图片字段

对于固定位置的图片,采集方法和采集文本内容类似。如果页面有一张图片,就设置一个图片字段(页面有几个图就设置几个这样的字段,比如可能有1-5个图,就设置5个字段),字段的取值类型为“图片”。

然后在内置浏览器上,对该图片进行定位,就完成了。

【采集固定位置图片】



二.位置不固定的图片

例如新闻中的图片,每篇新闻的图片数量和位置都是不固定的。以“凤凰网(www.ifeng.com)”为例,采集新闻内的图片。

1.配置频道,创建模板

【采集图片:创建模板】

第一个模板对应新闻的链接列表,第二个模板对应新闻的正文内容,第三个模板对应新闻正文里链接到的图片。

2.配置模板一:新闻列表页

模板1用于过滤新闻的链接。

【模板1配置】

3.配置模板二:新闻正文页

模板2用于采集新闻的内容数据,以及链接到图片的地址。

(1)链接抽取

该链接抽取需要关联模板3(图片),并在“链接标签”处填写“src”(图片链接的属性)。地址过滤可以不写过滤串,或者以图片后缀作为过滤串。

【模板2配置】

(2)数据抽取

数据抽取新闻页的数据内容。关联新闻表单,分别配置各字段的取值。

4.配置模板三:图片页

(1)创建数据抽取

(2)关联图片表单

①图片的主键字段:字段属性为“可加字段”,取值类型为空。

②正文的主键字段:取值类型为网页主键,变量类型为“long”(用于和正文中的url字段关联起来)。

③图片字段:取值类型为“原始数据流”,变量类型必须是“stream”类,扩展主类型为“图片”。

在“表单”选项卡中创建一个用于存储图片的数据表单。或者直接在模板3中右键创建字段。

【模板3配置-1】

【模板3配置-2】