我只想抓取具有crawler4j
特定前缀的某些 URL。
例如,如果一个 URL 以http://url1.com/timer/image
它开头是有效的。例如:http://url1.com/timer/image/text.php
。
此 URL 无效: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。
有什么建议吗?
我很感激你的回答!