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

관련 정보