最近自己做了一个游戏社区的网站找游网,虽然做了开发者模块,游戏开发者和游戏公司可以自主发布游戏和新闻,但是自己还是想更新游戏资讯,一篇一篇复制太煎熬了!所以自己就尝试做一个简单的采集!
经过百度,发现做采集用JAVA实现的貌似最方便的就只有jsoup了!原理其实简单,获取HTML节点信息,然后根据规则采集过来!
这个模块当然首先就要做一个规则创建的模块!规则作为一个对象。
public class Rule implements Serializable {
/**
*
*/
private static final long serialVersionUID = 553314127806022119L;
private Long id;
private String name;
private String description;
private String url;
private String listRule;
private String titleRule;
private String contentRule;
.....
然后创建采集文章的表t_Post
如我采集http://news.52pk.com/shtml/hwnews/list_11_2.shtml 列表的文章,通过代码获取每篇文章的链接。
接着通过URL来获取每篇文章的节点。
通过分析HTML的DOM元素Selector选择器来获取文章信息
规则就是我们的页面选择器
通过分析,规则如下:
列表:ul.listlb color049 li
文章标题:div#articletxt1 h1
正文:div#article
运行采集即可,蛮简单的。代码因为在项目里,不方便打包,要的话联系我,我把JAVA单个文件给你。
随便打个广告www.zhaoyo.com 找游网 游戏社区,玩家可以使用微博平台,分享游戏等!开发者可以推广游戏!