【场景描述】采集人民网上的人民日报新闻数据。
【源网站介绍】
人民网,是世界十大报纸之一《人民日报》建设的以新闻为主的大型网上信息发布平台,也是互联网上最大的中文和多语种新闻网站之一。
【使用工具】前嗅ForeSpider数据采集系统,点击下方链接可免费下载
http://www.forenose.com/view/forespider/view/download.html
【入口网址】http://paper.people.com.cn/rmrb/html/2021-09/07/nbs.D110000renmrb_01.htm
【采集内容】
采集人民日报新闻的标题、发布时间、文章正文等。
【采集效果】如下图所示:
l 思路分析
配置思路概览:
l 配置步骤
1. 新建采集任务
选择【采集配置】,点击任务列表右上方【+】号可新建采集任务,将采集入口地址填写在【采集地址】框中,【任务名称】自定义即可,点击下一步。
2.获取每日新闻链接
①在浏览器上观察该页面,发现每天的新闻页面链接都不一样,在链接中含有日期。
②复制几天的链接,发现规律如下所示:
③可将日期设置为关键词,用脚本拼接出每天新闻的链接。
④高级配置,设置关键词参数:
⑤写脚本,拼接链接:
脚本文本:
var sear=EXTRACT.GetSearch(this); //关键词获取 var k=sear.Search(); while(k){ //遍历关键词 url u; u.urlname="http://paper.people.com.cn/rmrb/html/"+k.wd+"/nbs.D110000renmrb_01.htm";//根据链接规律拼写链接 u.title=k.wd;//将标题设置为关键词名称 u.entryid=this.id; u.tmplid=1;//关联模板01 k=sear.Search(); RESULT.AddLink(u); }
⑥采集预览,如下图所示,每日的新闻链接已生成,右键复制任意一条,在浏览器中打开,看是否为正确链接。
3.获取新闻列表链接
①在浏览器中打开任意一天的新闻数据页,观察每条新闻的链接,可发现规律。
②通过观察可发现,视频链接规律为:
③根据新闻列表链接的规律,编写脚本拼出新闻链接,具体操作如下:
脚本文本为:
var i=URL.urlname.Left("nbs.D110000");//定义i为当前模板链接的【nbs.D110000】左侧部分,即取i为当天新闻页链接的前半部分 var j=URL.urlname.Middle("rmrb/html/","/nbs.");//定义j为当前模板链接中的日期部分 var b=j.Replace("-","",from=-1).Replace("/","",from=-1);//将j中的-和/去掉,日期格式为:20210907 for(int c =1;c<= 7;c++)//写for循环获取每天的前7条新闻 { url u ; u.urlname=i+"nw.D110000renmrb_"+b+"_"+c+"-01.htm";//根据新闻列表链接规律,拼写链接 u.title=c;//将标题设置为第几条新闻 u.entryid=this.id; u.tmplid=2;//关联模板02 RESULT.AddLink(u); }
④采集预览,如下图所示:
4.抽取新闻数据
①新建一个数据表单,具体步骤和字段属性如下所示:
②新建模板02,在该模板下新建一个数据抽取。
③填写示例地址,采集预览,双击进入下一层,复制任意一条新闻链接,复制在示例地址位置:
④关联数据表单,如下图所示:
⑤抽取数据采用定位取值法,具体操作如下图所示:
⑥采集预览,如下图所示:
l 采集步骤
模板配置完成,采集预览没有问题后,可以进行数据采集。
①首先要建立采集数据表:
选择【数据建表】,点击【表单列表】中该模板的表单,在【关联数据表】中选择【创建】,表名称自定义,这里命名为【ribao】(注意命名不能用数字和特殊符号),点击【确定】。创建完成,勾选数据表,并点击右上角保存按钮。
②选择【数据采集】,勾选任务名称,点击【开始采集】,则正式开始采集。
③采集中:
④采集结束后,可以在【数据浏览】中,选择数据表查看采集数据,并可以导出数据。
⑤导出的文件打开如下图所示:
*本教程仅供学习交流,严禁用于商业用途!