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

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

昨天刚用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板式,这些代码都要再重写一遍。

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