2013-02-20 21 views
0


我試圖解析一個頁面來查找所有有效的url,但這裏有一個問題。頁面上有三種類型的鏈接:url(_http://site.com/dir/page.html),絕對uri(/dir/page.html)和相對uri(不帶斜槓的dir/page.html) 。可能我對術語錯了,我不是一個html編碼器。但是,情況並非如此。

我需要找到並收集所有網址(即_http://site.com/dir/subdir/page.html等)。這是問題。如果有一個頁面_http://site.com/dir/page.html帶有鏈接,如< a href =「subdir/page.html」>鏈接</a >它應該將我們帶到_http:// site .COM /目錄/子目錄/ page.html中。但是,如果在頁面的頭部有< base,那麼相同的鏈接會導致_http://site.com/subdir/page.html,即與_http://site.com/dir/不同。子目錄/ page.html中。

問題是,如果在頁面上可能會影響目標網址的HTML代碼中有其他內容。
在此先感謝。解析HTML頁面上的相關鏈接

回答

0

在HTML這樣有沒有別的在href基地你提到

什麼能成爲棘手的,應考慮旁,有可能是由腳本執行製作網頁上的聯繫,所以像window.location的。 href =東西。如果鏈接明確說明,這很容易,但是它們也可能由腳本計算出來,然後您可能會錯過鏈接或通過使用簡單解析來誤讀鏈接。

+0

謝謝!我沒有真正考慮客戶端生成的代碼,只有純文本/ html響應正文:) – user1926948 2013-02-20 23:59:58

0

你的問題實際上是如何鏈接在html中的url作品,請閱讀:http://www.webdevelopersnotes.com/design/relative_and_absolute_urls.php3。所以說你在/ admin /中,你需要/admin/login.aspx。我的相對URL是login.aspx,而我的絕對是/admin/login.aspx有意義嗎?

所以基本上我所說的是考慮你的鏈接是從哪個目錄提供的。這將決定要使用的url鏈接的類型和內容。

除此之外,如前所述,jscript和服務器端代碼也可以做鏈接。