首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

爬新闻,大家都是怎么做的?

2012-07-23 
爬新闻,大家都是如何做的??昨天刚用groovy写了个东东,目的是把目标网站的一些栏目的新闻(列表、和内容),用

爬新闻,大家都是如何做的??

昨天刚用groovy写了个东东,目的是把目标网站的一些栏目的新闻(列表、和内容),用非本地缓存方式(即即时查询分析)显示自己的一个cms网站中去。

?

写了好多死代码,以前也接触过一些爬虫工具等,多是把数据爬下来以文件形式保存或数据库形式保存。

?

我先说说我自己的做法,大家讨论下,有没有更好的方法啊?做个稍微通用、灵活点的?

?

?

方式:

LAMP + Tomcat

?

1.Tomcat下一个自己写的Servlet + Groovy Script + Freemarker的MVC东东,用Groovy写了爬代码的逻辑处理并显示成html,至此有个URL对应。

?

2.Apache PHP部署个CMS(康盛的Supesite),修改了其中的template下的html.php文件(模板文件),立面直接用PHP file_get_contents(上面的URL)。

?

3.具体写爬内容的处理就是个遍历URL的html然后做字符串解析,代码可以以下面的原语构成:(以获取一个新闻列表页面中的新闻条目为例)

?

final?String beginUrl =?

def?pageRange = param('page')

?

def getNewsItem(String content){

def pat = /******/

?? }

?

def result = []

pageRange.each{

StringBuffer content = new?StringBuffer()

new Url(beginUrl + it).eachLine{line ->

//?根据目标html代码的特点获取新闻列表部分的代码段

?

}

result <<?getNewsItem(content.toString())

}

?

大概过程是这样,自己感觉死代码太多,目标网站,一修改html板式,这些代码都要再重写一遍。

大家如果碰到这样的需求,处理起来有什么好的思路否?

热点排行