抓取网页新闻(网上谷歌人家的开发经验写下来与别人分享下。)

优采云 发布时间: 2021-10-14 08:12

  抓取网页新闻(网上谷歌人家的开发经验写下来与别人分享下。)

  我已经工作近两年了,我一直在学习谷歌人在互联网上的经验。这次也把自己的开发心得写下来分享给大家。很快,我换了一份新工作,新公司刚结束了一个网站。网站 新闻内容是自己编辑添加的,都是手动的,所以我接受任务,做一个自动更新新闻内容的功能。

  开始整理思路,第一步通过网站URL获取整个网站新闻链接的所有URL,第二步将获取到的URL返回到其源码中,第三步解析源代码中的内容和标题,第四步存入数据库。最后,使用java timer自动更新。

  过程中最棘手的部分是解析HTML源代码,果断决定用htmlparser,废话少说,上部分代码。部分代码注释写得不好,请指教。

   /**<br /> * 返回网页中所有URL<br /> * @return type:NodeList<br /> */<br /> public static NodeList getAllUrl(String Url) throws Exception {<br /><br /> //使用htmlparser获取<br /> Parser parser = new Parser();<br /> parser.setResource(Url);<br /> //待定的编码格式<br /> parser.setEncoding("gbk");<br /> //遍历所有节点 自定义内部类(自定义过滤器)<br /> NodeList nodeList = parser.extractAllNodesThatMatch(new NodeFilter() {<br /> private static final long serialVersionUID = 1L;<br /><br /> public boolean accept(Node node) {<br /> //判断node是否是LinkTag的一个实例<br /> if (node instanceof LinkTag)<br /> return true;<br /> else{<br /> return false;<br /> }<br /> }<br /> });<br /> return nodeList;<br /> }

<p><br /><br /> /*<br /> * 返回新闻内容<br /> */<br /> public static String getContent(String urlpath){<br /> Parser parser = new Parser();<br /> String content = "";<br /> try {<br /> parser.setResource(urlpath);//传入url<br /> NodeFilter divFilter = new NodeClassFilter(Div.class);//自定义过滤器<br /> NodeList divlist = parser.parse(divFilter);//加载过滤器 <br /> for(int i=0;i

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线