1、修改
F:\nutch\trunk\nutch_hbase_mysql\nutch_hbase\src\java\org\apache\nutch\fetcher\FetcherReducer
/*
* 多数站点都是只允许百度、google等搜索引擎抓取的,所以会在robots.txt里限制其他爬虫。
nutch自然是会遵循robots协议的,但是我们可以通过修改nutch源码来绕过限制。
2014-12-18
zhued
*/
/* if (!rules.isAllowed(fit.u.toString())) {
// unblock
fetchQueues.finishFetchItem(fit, true);
if (LOG.isDebugEnabled()) {
LOG.debug("Denied by robots.txt: " + fit.url);
}
output(fit, null, ProtocolStatusUtils.STATUS_ROBOTS_DENIED,
CrawlStatus.STATUS_GONE);
continue;
}*/
2、添加:
\src\plugin\protocol-http\src\java\org\apache\nutch\protocol\http\HttpResponse
String userAgent = http.getUserAgent();
//添加特例“21dianyuan.com”,解决报403错误问题。
if(url.toString().contains("21dianyuan"))
{
userAgent="Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36";
}
3、
\src\plugin\parse-savedata\src\java\org\apache\nutch\parse\savedata\pojo\GetConfService
读取数据库xml格式为utf-8
在cygwin的话设置为gbk
F:\nutch\trunk\nutch_hbase_mysql\nutch_hbase\src\java\org\apache\nutch\fetcher\FetcherReducer
/*
* 多数站点都是只允许百度、google等搜索引擎抓取的,所以会在robots.txt里限制其他爬虫。
nutch自然是会遵循robots协议的,但是我们可以通过修改nutch源码来绕过限制。
2014-12-18
zhued
*/
/* if (!rules.isAllowed(fit.u.toString())) {
// unblock
fetchQueues.finishFetchItem(fit, true);
if (LOG.isDebugEnabled()) {
LOG.debug("Denied by robots.txt: " + fit.url);
}
output(fit, null, ProtocolStatusUtils.STATUS_ROBOTS_DENIED,
CrawlStatus.STATUS_GONE);
continue;
}*/
2、添加:
\src\plugin\protocol-http\src\java\org\apache\nutch\protocol\http\HttpResponse
String userAgent = http.getUserAgent();
//添加特例“21dianyuan.com”,解决报403错误问题。
if(url.toString().contains("21dianyuan"))
{
userAgent="Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36";
}
3、
\src\plugin\parse-savedata\src\java\org\apache\nutch\parse\savedata\pojo\GetConfService
读取数据库xml格式为utf-8
在cygwin的话设置为gbk