あなたはこれを行うことができます。
クラスpublic void schedule(WebURL url)
のメンバーであるクローラー フロンティアに URL を追加するために使用します。Frontier.java
ただし、このためには、タイプの URL が必要ですWebURL
。あなたの文字列を作りたい場合WebURL
。文字列 (url) が WebURL にどのように変換されているかを確認するには、クラス内のaddSeed()
(以下のコード) を参照してください。CrawlController.java
また、既存のフロンティア インスタンスを使用します。
お役に立てれば..
public void addSeed(String pageUrl, int docId) {
String canonicalUrl = URLCanonicalizer.getCanonicalURL(pageUrl);
if (canonicalUrl == null) {
logger.error("Invalid seed URL: " + pageUrl);
return;
}
if (docId < 0) {
docId = docIdServer.getDocId(canonicalUrl);
if (docId > 0) {
// This URL is already seen.
return;
}
docId = docIdServer.getNewDocID(canonicalUrl);
} else {
try {
docIdServer.addUrlAndDocId(canonicalUrl, docId);
} catch (Exception e) {
logger.error("Could not add seed: " + e.getMessage());
}
}
WebURL webUrl = new WebURL();
webUrl.setURL(canonicalUrl);
webUrl.setDocid(docId);
webUrl.setDepth((short) 0);
if (!robotstxtServer.allows(webUrl)) {
logger.info("Robots.txt does not allow this seed: " + pageUrl);
} else {
frontier.schedule(webUrl); //method that adds URL to the frontier at run time
}
}