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

Vultr新注册赠送100美元活动截止月底 需要可免费享30天福利

昨天晚上有收到VULTR服务商的邮件,如果我们有清楚的朋友应该知道VULTR对于新注册用户已经这两年的促销活动是有赠送100美元最高余额,不过这个余额有效期是30天,如果我们到期未使用完的话也会失效的。但是对于我们一般用户来说,这个活动还是不错的,只需要注册新账户充值10美金激活账户就可以。而且我们自己充值的余额还是可以继续使用且无有效期的。如果我们有需要申请的话可以参考"2021年最新可用Vul...

Virtono:圣何塞VPS七五折月付2.2欧元起,免费双倍内存

Virtono是一家成立于2014年的国外VPS主机商,提供VPS和服务器租用等产品,商家支持PayPal、信用卡、支付宝等国内外付款方式,可选数据中心共7个:罗马尼亚2个,美国3个(圣何塞、达拉斯、迈阿密),英国和德国各1个。目前,商家针对美国圣何塞机房VPS提供75折优惠码,同时,下单后在LET回复订单号还能获得双倍内存的升级。下面以圣何塞为例,分享几款VPS主机配置信息。Cloud VPSC...

美国云服务器 1核 1G 100M 10G防御 39元/月 物语云计算

物语云计算(MonogatariCloud)是一家成立于2016年的老牌国人商家,主营国内游戏高防独服业务,拥有多家机房资源,产品质量过硬,颇有一定口碑。本次带来的是美国圣何塞 Equinix 机房的高性能I9-10980XE大带宽VPS,去程CN2GIA回程AS9929,美国原生IP,支持解锁奈飞等应用,支持免费安装Windows系统。值得注意的是,物语云采用的虚拟化技术为Hyper-V,资源全...

nutch使用为你推荐
qq网络硬盘我QQ的网络硬盘怎么啦?超级播放器一共有哪些播放器?超级播放器推荐个好的视频播放器移动硬盘文件或目录损坏且无法读取移动硬盘文件或目录损坏且无法读取怎么办??网络备份怎样手动备份宽带帐号密码网络电话免费版有没有免费的网络电话?纯免费的点心os点心操作系统?点心os什么是点心os?手机操作系统和手机区别么?一个是硬件一个是软件?听说炒的好火?红牛下架红牛 为什么全国下架免费下载空间怎么才能免费安装空间播放器
域名信息查询 免费顶级域名 vultr美国与日本 mobaxterm tk域名 私有云存储 web服务器架设软件 绍兴高防 天互数据 北京双线 卡巴斯基免费试用版 彩虹云 上海电信测速网站 重庆电信服务器托管 789 沈阳主机托管 浙江服务器 数据湾 锐速 月付空间 更多