簡體   English   中英

如何使用jsoup獲取到站點頁面的可導航鏈接?

[英]How to get navigable links to pages from a site using jsoup?

我正在實現一個基本的搜尋器,其目的是以后在漏洞掃描器中使用。 我正在使用jsoup進行html文檔的連接/檢索和解析。

我手動提供了目標站點(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"));
    }

問題如下。 根據我獲得的鏈接,有些鏈接可能不是到新頁面的鏈接,甚至根本不是到頁面的鏈接。 例如,有一個類似的鏈接:

我需要幫助的地方是鏈接的過濾,以便我僅獲得指向相同根目錄/基礎站點的新頁面的鏈接。

這很容易。 檢查absUrl是否以圖片格式或js或css結尾:

if(absUrl.startsWith("http://www.ics.uci.edu/") && !absUrl.matches(".*\\.(bmp|gif|jpg|png|js|css)$")) 
{

    //here absUrl starts with domain name and is not image or js or css
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM