【发布时间】:2014-09-14 08:05:18
【问题描述】:
我只想用 crawler4j 抓取某些具有特定前缀的 URL。
例如,如果 URL 以 http://url1.com/timer/image 开头,则它是有效的。例如:http://url1.com/timer/image/text.php。
此网址无效:http://test1.com/timer/image
我试图这样实现它:
public boolean shouldVisit(Page page, WebURL url) {
String href = url.getURL().toLowerCase();
String adrs1 = "http://url1.com/timer/image";
String adrs2 = "http://url2.com/house/image";
if (!(href.startsWith(adrs1)) || !(href.startsWith(adrs2))) {
return false;
}
if (filters.matcher(href).matches()) {
return false;
}
for (String crawlDomain : myCrawlDomains) {
if (href.startsWith(crawlDomain)) {
return true;
}
}
return false;
}
但是,这似乎不起作用,因为爬虫还会访问其他 URL。
有什么推荐的吗?
感谢您的回答!
【问题讨论】:
-
当您提供正确的网址(带有特定前缀的网址)时会发生什么,它们是否有效?
标签: java web-crawler crawler4j