nutch使用使用Nutch能抓取针对性的内容吗

nutch使用  时间:2021-06-09  阅读:()

使用Nutch能抓取针对性的内容吗

可以,修改一下nutch的插件就行了。

由于好久没你那个nutch了,那时候还是1.0,不过nutch在spider这块的插件应该没什么变动。

首先你要知道你要抓取的新闻的div 修改parse-html插件,HtmlParser.java这个文件。

因为我这边没有环境,刚从官网上下了个1.7的源码,对着里面的和你说。

我们要修改的方法是private DocumentFragment parse(InputSource input) 这个方法,你可以debug一下,input里面,就是抓取的页面里的内容,(如果不是,你再从其他的方法里找找) 然后创建一个分析input的方法。

在里面用htmlparser把你要的结构拿出来。

不过htmlarser有BUG,而且很久都没有更新了,建议你用Jsoup。

我的日志里面用的是htmlparser,所以你改改就可以。

public InputSource getinput(InputSource input){ String str=""; try { BufferedReader isr = new BufferedReader(newInputStreamReader(input.getByteStream(),"utf-8")); while(isr.ready()){ str+=(char)isr.read(); } } catch (UnsupportedEncodingException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { Parser p = new Parser(str); p.setEncoding("utf-8"); NodeFilter filter=new AndFilter(newTagNameFilter("div"),new HasAttributeFilter("class","mconleft")); NodeList nodelist=p.parse(filter); NodeIterator it=nodelist.elements(); if(!it.hasMoreNodes()){ input.setByteStream(newByteArrayInputStream(str.getBytes("utf-8"))); return input; } while(it.hasMoreNodes()){ Node node=(Node)it.nextNode(); input.setByteStream(newByteArrayInputStream(node.toHtml().getBytes("UTF-8"))); } } catch (ParserException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } return input; } 从代码上你能看到,我这里只抓取 DIV的class叫mconleft的。

把你要抓取的新闻的div替换这块就可以了,然后将方法应用的parse(InputSource input)里面,然后从新ant一下nutch,把war包放到tomat下面试试。

基本上就是这样了,可能还有其他的更简单的方法。

当时急着用nutch,就没具体的研究,现在也不弄了,呵呵 纯手打,希望能帮到你

舍利云:海外云服务器,6核16G超大带宽vps;支持全球范围,原价516,折后价200元/月!

舍利云怎么样?舍利云推出了6核16G超大带宽316G高性能SSD和CPU,支持全球范围,原价516,折后价200元一月。原价80美元,现价30美元,支持地区:日本,新加坡,荷兰,法国,英国,澳大利亚,加拿大,韩国,美国纽约,美国硅谷,美国洛杉矶,美国亚特兰大,美国迈阿密州,美国西雅图,美国芝加哥,美国达拉斯。舍利云是vps云服务器的销售商家,其产品主要的特色是适合seo和建站,性价比方面非常不错,...

spinservers:圣何塞10Gbps带宽服务器月付$109起,可升级1Gbps无限流量

spinservers是Majestic Hosting Solutions LLC旗下站点,主营国外服务器租用和Hybrid Dedicated等,数据中心在美国达拉斯和圣何塞机房。目前,商家针对圣何塞部分独立服务器进行促销优惠,使用优惠码后Dual Intel Xeon E5-2650L V3(24核48线程)+64GB内存服务器每月仅109美元起,提供10Gbps端口带宽,可以升级至1Gbp...

云如故枣庄高防(49元)大内存2H2G49元8H8G109元

云如故是一家成立于2018年的国内企业IDC服务商,由山东云如故网络科技有限公司运营,IDC ICP ISP CDN VPN IRCS等证件齐全!合法运营销售,主要从事自营高防独立服务器、物理机、VPS、云服务器,虚拟主机等产品销售,适合高防稳定等需求的用户,可用于建站、游戏、商城、steam、APP、小程序、软件、资料存储等等各种个人及企业级用途。机房可封UDP 海外 支持策略定制 双层硬件(傲...

nutch使用为你推荐
performclick模拟点击事件 如何禁用声音 mView.performClick();mac地址克隆怎么克隆MAC地址?mac地址克隆无线路由器mac地址克隆有什么用处?y码亚洲码男女尺码是多少?自定义表情手机QQ自定义表情怎么添加js后退javascript怎么禁用浏览器后退按钮云计划什么是云查杀,云计算和云计划的关系?云盘网谁知道免费的网盘?微信智能机器人有没有微信自动聊天机器人电子邮件软件常用的邮件收发软件
mysql虚拟主机 老域名 太原域名注册 深圳主机租用 阿云浏览器 重庆服务器托管 locvps 南昌服务器托管 大容量存储器 刀片服务器是什么 七夕快乐英文 php空间购买 如何用qq邮箱发邮件 申请网站 西安服务器托管 中国linux 中国域名 iki 114dns 攻击服务器 更多