cmsez挂接的新闻抓取模块
前2天发了篇关于抓取的文章,而且看到大家对抓取的功能比较赶兴趣,画了点时间把抓取功能做到了cmsez 1.01中去了。
给大家看一下demo
http://www.cmsez.com/demo/admin.php
用户名:a1,a2,a3,admin
密码:admin
(测试版本,屏蔽了参数设定,用户管理,输出html不能删除前2个抓取的代码,也不能更新前2个代码,主要是给大家看一个范例)
如果你登陆上去了,很快就退出来了,说明有人用同样的用户上去了,你被挤下来了。
抓取速度和你要抓的网站速度和主机速度有关系,主机在湛江,可能北方的哥们访问的慢一些。)
测试抓取的方式如下:
点击“增强模块->新闻抓取”
点击:添加,可以增加抓取的url,并自己设定抓取的代码
下面是代码说明,整个过程无需写任何的正则表达式
原文在此:原文
新闻专区功能的简单说明(以千龙网为例)
注意:默认抓取100条,多了就忽略了,而且只抓最新的,遇上以前抓取过的内容,程序就自动停止了。如果想抓取同样的数据,请点击站点后面的清零链接。
1)添加抓取的站点,此处的站点是你需要抓取的内容的列表页面。
站点名称:随便写,便于记忆就可以了
新闻类别:也是随便写,便于记忆的
选择分类:是cmsez的文章分类,抓取结果直接进入此分类的数据库的
url:你要抓取的新闻的列表页面,比如说:http://china.qianlong.com/ 这是千龙的国内新闻列表页面
内容url:这个要注意,因为有些新闻列表页面的新闻链接是相对地址,你需要在这里把链接补足,变成绝对地址。
比如说刚刚那个列表页面中,新闻地址是
<a href=http://china.qianlong.com/4352/2004/10/10/Zt45@2312627.htm target=_blank>新闻标题</a>
本身就是一个绝对的url地址,这里内容url就留空就可以了。
假如说上面的地址是
<a href=/4352/2004/10/10/Zt45@2312627.htm target=_blank>新闻标题</a>
那么你就需要在这里填写http://china.qianlong.com,这样才能是一个完整的绝对的url地址。
运行:随便,这个现在没用,是以前给自动运行准备的。
简介:随便写,方便记忆的
列表识别:这里你不需要写正则表达式,首先你分析一下http://china.qianlong.com/这个页面,找出列表前后的标记
例如列表开始之前的代码是<table width="100%" border="0" cellspacing="0" cellpadding="0">,这个一定要够特别,否则不能保证抓取的正确性
技术的标记是 <!--竞价广告 Start-->
那么列表识别的代码就是 <table width="100%" border="0" cellspacing="0" cellpadding="0">**<!--竞价广告 Start-->
没错就是这么简单的。
标题识别:具体文章的标题识别表达式,做法和列表识别类似,不过分析的是新闻页面。
比如:<div class="Heading">**</div>
日期识别代码:这里会写正则的就写,但是因为入库的时候日期字段是datatime,格式不正确是写不进去的。
来源识别:<div class="Date">**</div>
内容识别:就是正文前后的html代码加上**就可以了。比如:<td class="Content">**</td>
</tr>
</table>
这里要注意一下,html代码中的回车符号和空格符合一定要和页面中的一致,因为加上这些东西,才是唯一性的代码。你可以用文本编辑器直接打开页面,复制过来就可以了。
广告识别:这里识别出来的东西,将会被剔除的,代码范例:<table align = left><tr><td><SCRIPT**</SCRIPT></td></tr></table>
填写完上面的代码之后,保存一下,然后返回了站点列表页面,点击你刚刚增加的站点后面的测试,看看返回的信息是不是正确的,正确的说明你作的很好,不正确说明你哪里写错了,重新编辑一下,再来测试,直到返回的是正确的。
返回信息最上面是你抓取的url列表,下面是你抓取的标题和取出广告后的内容。