如何使用 UNIX 指令從 HTML 標籤中提取特定 url

如何使用 UNIX 指令從 HTML 標籤中提取特定 url

我想http://www.rediff.com/news從下面的<a>標籤中提取鏈接

<a href="http://www.rediff.com/news" onclick="trackURL('http://track.rediff.com/click?url=___http://www.rediff.com/news___&cmp=news1_nav&lnk=news1_nav&nsrv1=ushome');return false;"><div class="n_tabnormal">News</div></a>

使用一些 Unix 指令。請不要為此進行硬編碼。

答案1

使用 XML/HTML 解析器是操作 XML/HTML 資料的正確方法:

xmlstarlet解決方案:

sed 's/&/&amp;/g' yourfile | xmlstarlet sel -t -v '//a[div/text() = "News"]/@href' -n

輸出:

http://www.rediff.com/news

  • sed 's/&/&amp;/g'- 將 & 符號&作為特殊字元轉換為 HTML 實體

  • //a[div/text() = "News"]/@href- xpath表達式,如果標籤有帶有文字的子節點,則提取標籤href的屬性值adivNews

相關內容