我正在實現一個基本的爬蟲程序,以便稍後在漏洞掃描器中使用。我使用jsoup來連接/檢索和解析html文檔。如何使用jsoup從站點獲取可導航鏈接?
我手動提供目標站點的基礎/根目錄(www.example.com)並連接。
...
Connection connection = Jsoup.connect(url).userAgent(USER_AGENT);
Document htmlDocument = connection.get();
this.htmlDocument = htmlDocument;
...
然後我檢索頁面上的所有鏈接。
...
Elements linksOnPage = htmlDocument.select("a[href]");
...
之後,我在這些鏈接之間循環,並嘗試獲取網站上所有頁面的鏈接。
for (Element link : linksOnPage) {
this.links.add(link.absUrl("href"));
}
問題如下。根據我得到的鏈接,有些鏈接可能不是新頁面的鏈接,甚至可能不鏈接到網頁。作爲例子,有鏈接,如:
什麼,我需要一些幫助白衣是對鏈接進行篩選,這樣我就只能鏈接到同一個根/基站點的新頁面。
檢查:'link.startsWith( 「http://www.ics.uci.edu/」)' –
元素jsoup中的對象沒有類似「startsWith」的方法,並且不以基本域(/pages.page2.html)開頭的鏈接可能仍然在同一個站點上,只是使用js進行導航。 – Vlad
獲取'元素鏈接'對象的字符串url。然後在'url'上調用startsWith。使用js進行導航的鏈接必須具有相同的屬性。你可以用它們過濾 –