0
我寫了一個簡單的Java Web Crawler,讓用戶輸入任何網頁,它將搜索整個頁面並將鏈接作爲字符串取出。我沒有使用像Jsoup這樣的軟件包。我的問題是,我如何才能打印絕對URL而不是相對和絕對URL?僅打印絕對URL
我寫了一個簡單的Java Web Crawler,讓用戶輸入任何網頁,它將搜索整個頁面並將鏈接作爲字符串取出。我沒有使用像Jsoup這樣的軟件包。我的問題是,我如何才能打印絕對URL而不是相對和絕對URL?僅打印絕對URL
檢查src
或href
屬性以查看它是絕對的,相對的還是與協議相關的(//stackoverflow.com/file
)。解析頁面的URL。如果標籤是相對協議的,則使用解析的頁面URL中的協議,然後附加屬性的內容。如果它是相對的,則從原始URL剝離查詢字符串和片段IF,並「附加」相關部分。請注意,相對URL可能看起來像/foo
,foo
,foo/bar
或./../../bar/../foo
,因此您可能需要在打印之前解析路徑遍歷。
編輯:
看看URL和Commons URL Builder。他們都會有幫助。
非常感謝,我非常感謝! – Gio