Como extrair url particular de tags HTML usando comandos UNIX

0

Eu quero extrair um link http://www.rediff.com/news da tag <a> abaixo

<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>

usando algum comando Unix. Por favor, não há codificação para isso.

    
por shruti 02.06.2017 / 11:58

1 resposta

1

Usar analisadores XML / HTML é uma maneira correta de manipular dados XML / HTML:

solução xmlstarlet :

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

A saída:

http://www.rediff.com/news
  • sed 's/&/&amp;/g' - para converter o e-comercial & como um caractere especial em entidade HTML

  • //a[div/text() = "News"]/@href - xpath expression, extrai o valor do atributo href da tag a se tiver o nó filho div com o texto News

por 02.06.2017 / 12:37

Tags