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

RAKsmart 黑色星期五云服务器七折优惠 站群服务器首月半价

一年一度的黑色星期五和网络星期一活动陆续到来,看到各大服务商都有发布促销活动。同时RAKsmart商家我们也是比较熟悉的,这次是继双十一活动之后的促销活动。在活动产品中基本上沿袭双11的活动策略,比如有提供云服务器七折优惠,站群服务器首月半价、还有新人赠送红包等活动。如果我们有需要RAKsmart商家VPS、云服务器、独立服务器等产品的可以看看他们家的活动。这次活动截止到11月30日。第一、限时限...

UCloud:全球大促降价,云服务器全网最低价,1核1G快杰云服务器47元/年

ucloud:全球大促活动降价了!这次云服务器全网最低价,也算是让利用户了,UCloud商家调低了之前的促销活动价格,并且新增了1核1G内存配置快杰型云服务器,价格是47元/年(也可选2元首月),这是全网同配置最便宜的云服务器了!UCloud全球大促活动促销机型有快杰型云服务器和通用型云服务器,促销机房国内海外都有,覆盖全球20个城市,具体有北京、上海、广州、香港、 台北、日本东京、越南胡志明市、...

HostSailor:罗马尼亚机房,内容宽松;罗马尼亚VPS七折优惠,罗马尼亚服务器95折

hostsailor怎么样?hostsailor成立多年,是一家罗马尼亚主机商家,机房就设在罗马尼亚,具说商家对内容管理的还是比较宽松的,商家提供虚拟主机、VPS及独立服务器,今天收到商家推送的八月优惠,针对所有的产品都有相应的优惠,商家的VPS产品分为KVM和OpenVZ两种架构,OVZ的比较便宜,有这方面需要的朋友可以看看。点击进入:hostsailor商家官方网站HostSailor优惠活动...

nutch使用为你推荐
awv如何把普通电影转换成AWV部署工具如何使用office2016部署软件云盘网谁知道免费的网盘?activitygroup请问在activitygroup中嵌入多个webview,切换时如何保持状态腾讯贴吧QQ应该有贴吧的吧?那怎样进QQ贴吧?在(=@__@=)哪里?移动硬盘文件或目录损坏且无法读取移动硬盘文件或目录损坏且无法读取怎么办??pmp格式有PMP格式转换成其他格式web推送怎样关闭网页推送病毒分析网站电脑中病毒了,应该去哪个网站?私服发布站程序怎么做游戏私服发布网站?包括网页游戏
全能虚拟主机 网站空间商 域名服务器 服务器配置技术网 adman 国外服务器网站 国外空间服务商 seovip 云主机51web 台湾谷歌地址 怎样建立邮箱 hostloc 泉州电信 网站卫士 免费全能主机 吉林铁通 360云服务 免费邮件服务器 免费的asp空间 linode支付宝 更多