我們抓取一些網站的頁面後,會發現有的頁面中的url是相對路徑,我們直接打開這個html,格式就是亂的。需要把相對路徑的url修改為絕對路徑,難道需要手動在這些url前面加上一個域名前綴嗎?
最簡單的解決方法:
在head中使用base標籤。
瀏覽器隨後將不再使用當前文檔的 URL,而使用指定的基本 URL 來解析所有的相對 URL。
這其中包括 <a>、<img>、<link>、<form> 標籤中的 URL。
例子:
1 2 3 4 | <span style="color: #000000;">[codesyntax lang="php"]</span> <head> <base href="http://www.w3school.com.cn/i/" /> </head> |
1 2 3 4 5 | <body> <img src="eg_smile.gif" /> <a href="http://www.w3school.com.cn">W3School</a> </body> <span style="color: #000000;">[/codesyntax]</span> |
其中eg_smile.gif為相對路徑,但因為存在base href,瀏覽器會自動解析為http://www.w3school.com.cn/i/eg_smile.gif。