簡體   English   中英

使用Jsoup獲取錨鏈接

[英]Getting the Anchor Link by using Jsoup

我通過使用獲取href

Jsoup.parse(hrefLink, "").select("a[href]").attr("href")

其中hrefLink成立hreflink。

我想要做的是,從當前網頁中獲取符合我條件的傳出鏈接。 不幸的是,由於錨鏈接,我不能總是獲得傳出鏈接,但我希望能夠獲得錨鏈接重定向到的其他href。 例如:

給定頁面: http : //en.wikipedia.org/wiki/Baked_potato

其中引文[10] anchorlink有兩個傳出鏈接。 我希望能夠得到他們。 如何使用Jsoup做到這一點? 如果Jsoup無法做到這一點,我還能使用什么呢?

HTML錨點(通常是指向片段的鏈接)僅表示在瀏覽錨點時(通過鏈接或直接通過帶#fragment的URL)瀏覽器將滾動到的位置; 他們不會“重定向”到任何東西。 鏈接之間的關系未在文檔中編碼,因此Jsoup(或任何其他庫)通常無法確定這一點。 您的程序將需要一些其處理頁面的語義知識。

在您的Wikipedia示例中,找到li#cite_note-10元素之后,您可以選擇所有child a元素,然后使用absUrl("href")獲得鏈接目標並過濾出引用同一頁面的所有鏈接。 (當前僅檢查href屬性不是以#開頭就足夠了,但是一般而言,文檔也可以使用完整的URL鏈接到自身。)但這取決於文檔的語義,而不僅是其語法-未來的Wikipedia重新設計可能會移至引用鏈接指向的位置,以使傳出鏈接不再是引用鏈接目標的子鏈接,並且您的代碼將中斷。

暫無
暫無

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

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