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,就没具体的研究,现在也不弄了,呵呵 纯手打,希望能帮到你

香港九龙湾(27元) 2核2G 20元 香港沙田

弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港VPS、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统。国庆活动 优惠码:hosu10-1产品介绍...

Hostodo:$19.99/年KVM-1GB/12GB/4TB/拉斯维加斯

Hostodo发布了几款采用NVMe磁盘的促销套餐,从512MB内存起,最低年付14.99美元,基于KVM架构,开设在拉斯维加斯机房。这是一家成立于2014年的国外VPS主机商,主打低价VPS套餐且年付为主,基于OpenVZ和KVM架构,产品性能一般,数据中心目前在拉斯维加斯和迈阿密,支持使用PayPal或者支付宝等付款方式。下面列出几款NVMe硬盘套餐配置信息。CPU:1core内存:512MB...

VPSMS:53元/月KVM-512MB/15G SSD/1TB/洛杉矶CN2 GIA

VPSMS最近在做两周年活动,加上双十一也不久了,商家针对美国洛杉矶CN2 GIA线路VPS主机提供月付6.8折,季付6.2折优惠码,同时活动期间充值800元送150元。这是一家由港人和国人合资开办的VPS主机商,提供基于KVM架构的VPS主机,美国洛杉矶安畅的机器,线路方面电信联通CN2 GIA,移动直连,国内访问速度不错。下面分享几款VPS主机配置信息。CPU:1core内存:512MB硬盘:...

nutch使用为你推荐
qq注册账号免费申请申请qq号免费立即注册企业资源管理系统企业管理系统有哪些?chrome系统Chrome系统怎么进bios网络审计网经科技1820听说是网络审计路由器,大家知道怎么样吗?设备支持多少用户啊seo优化技术做seo需要懂什么技术?jstz举手望,草上马跑,打什么数字?jstz谁有101网校的账号?腾讯技术腾讯是什么东西?移动硬盘文件或目录损坏且无法读取移动硬盘提示文件或目录损坏且无法读取!电子邮件软件电子邮件软件哪个好用
郑州服务器租用 云南服务器租用 vps动态ip 域名服务器的作用 warez godaddy tk域名 绍兴高防 三拼域名 大容量存储器 域名转接 adroit qq云端 卡巴斯基免费试用版 江苏双线服务器 web服务器是什么 lamp兄弟连 免费蓝钻 阿里云邮箱申请 小夜博客 更多