我使用HBase作为存储后端使用'nutch'抓取网站。我已将此教程链接 - http://wiki.apache.org/nutch/Nutch2Tutorial
。
Nutch版本为2.2.1,HBase版本为0.90.4,Solr版本为4.7.1
以下是我使用的步骤 -
./ runtime / local / bin / nutch注入网址
./ runtime / local / bin / nutch generate -topN 100 -adddays 30
./ runtime / local / bin / nutch fetch -all
./ runtime / local / bin / nutch fetch -all
./ runtime / local / bin / nutch updatedb
./runtime/local/bin/nutch solrindex http://localhost:8983/solr/ -all
我的网址/ seed.txt文件包含 -
http://www.xyzshoppingsite.com/mobiles/
我只保留在'regex-urlfilter.txt'文件中的下面一行(所有其他正则表达式都被注释)。
+^http://([a-z0-9]*\.)*xyzshoppingsite.com/mobile/*
在抓取结束时,我可以看到在HBase中创建的表“网页”,但我无法验证是否已抓取所有数据和完整数据。 在Solr中搜索时,它不显示任何结果。
我的最终目的是通过上述网址获取移动设备下所有网页中的完整数据。
你可以告诉我,如何验证HBase中存在的已爬网数据?
Solr日志目录包含0个文件,因此我无法获得突破。如何解决这个问题?
HBase命令scan "webpage"
的输出仅显示时间戳数据和其他数据
'value=\x0A\x0APlease Wait ... Redirecting to <a href="/mobiles"><b>http://www.xyzshoppingsite.com/mobiles</b></a>Please Wait ... Redirecting to <a href="/mobiles"><b>http://www.xyzshoppingsite.com/mobiles</b></a>
'
这里,为什么数据会像这样被抓取而不是重定向后页面的实际内容?
请帮忙。提前谢谢。
谢谢和问候!
答案 0 :(得分:0)
您可以使用以下命令
,而不是执行所有这些步骤./bin/crawl url/seed.txt shoppingcrawl http://localhost:8080/solr 2
如果能够成功执行,将在hbase中创建一个表,名称为 shoppingcrawl _webpage。
我们可以通过在hbase shell中执行以下命令来检查
hbase> list
然后我们可以扫描特定的表格。在这种情况下
hbase> scan 'shoppingcrawl_webpage'