ForeSpider教程之如何爬取位置不固定的图片
1185浏览量
0评论
众所周知,对于新闻网站来说,图片位置是无法固定的,所以想要爬取到这些位置不固定的图片,需要一定的技术手段。 以某网站为例,任务入口地址为:http://www.chengdu.cn/ 一、对首页进行链接抽取。 抽取文章标题,使用地址过滤“包含”.shtml。抽取到结果如下: 二、新建模板2,抽取图片链接及内容数据: 示例地址如下:http://news.chengdu.cn/2016/0817/1810143.shtml
进行采集预览,查看图片的链接规律,通过地址过滤"排除"^jpg;^jpeg;^png;
^bmp;^gif。
2.为图片设置唯一标志与正文相关联。
通过标题过滤脚本return MD5(URL.urlname)给模板2的主键赋值,因为新闻图片的不规则性,需要通过某个字段将内容与图片相关联,所以此处标题过滤还有个作用就是将整个网页内容传递到模板3,起到相关联的作用。
过滤好的图片链接如下:
3.设置字段,为了将爬取到的内容分类的放入数据库中。
抽取正文页的数据,配置如下表单:
4.给字段赋值,从而获得数据。
通过定位及脚本取值,取到如下数据:
写脚本的字段
hkey :
return MD5(URL.urlname);//返回本页链接地址,通过MD5方法加密。
author :
return "编辑" DOM.GetTextAll(DOM.FindClass("font_gray")).Right("编辑");//在源码里找到包含作者标签的class,取出其中的文本,然后取右串“编辑”。
news_time :
return DOM.GetTextAll(DOM.FindClass("font_gray")).Left("来源");//在源码里找到包含新闻时间标签的class,取出其中的文本,然后取“来源”左侧的内容。
content :
return DOM.GetTextAll(DOM.FindClass("contxt"));//在源码里找到包含新闻事件标签的class,取出其中的文本。
pub_web :
return DOM.GetTextAll(DOM.FindClass("font_gray")).Middle("来源:"," ");//源码里找到包含文章原出处标签的class,取出其中的文本,然后取”来源”和” ”中间的内容。
三、新建模板3,抽取图片。
示例地址如下:http://upload.chengdu.cn/2016/0817/1471388513461.jpg
取图片,配置如下表单:
预览的结果图如下:
这样操作不仅可以使内容和图片一一对应,也便于之后的数据导出工作。
以上就是位置不固定的图片的抽取教程,大家学会了吗?
前嗅大数据——深度大数据专家
前嗅(www.forenose.com)是首个深度大数据专家。
提供数据采集-分析-处理-管理-营销-应用,
自主知识产权的全套大数据产品。
- ·前嗅Forespider爬虫的常见问题答疑详情 10475
- ·孔夫子旧书网 4188
- ·采集数据时本地IP被封怎么办? 3851
- ·前嗅ForeSpider教程:采集美团网 3543
- ·ForeSpider教程之如何进行关键词采集 3463
- ·采集配置界面介绍 2524
- ·昵图网 2193
- ·前嗅ForeSpider中数据采集界面介绍 2035
- ·前嗅ForeSpider教程:采集中国证券网 2001
- ·数据建表 1906
评论区
+ 写评论