Como exportar todos os hiperlinks de uma página web?

Como exportar todos os hiperlinks de uma página web?

Preciso de uma solução para exportar todos os hiperlinks de uma página da Web (em uma página da Web, não do site inteiro) e de uma forma de especificar os links que desejo exportar, por exemplo, apenas hiperlinks que começam comhttps://superuser.com/questions/excluindo todo o resto.
É preferível exportar como arquivo de texto e os resultados devem ser exibidos um abaixo do outro, um URL por linha:

https://superuser.com/questions/1  
https://superuser.com/questions/2  
https://superuser.com/questions/3
[...]

Responder1

Se você estiver executando em um sistema Linux ou Unix (como FreeBSD ou macOS), poderá abrir uma sessão de terminal e executar este comando:

wget -O - http://example.com/webpage.htm | \
sed 's/href=/\nhref=/g' | \
grep href=\"http://specify.com | \
sed 's/.*href="//g;s/".*//g' > out.txt

Em casos normais, pode haver várias <a href>tags em uma linha, então você deve cortá-las primeiro (o primeiro sedadiciona novas linhas antes de cada palavra-chave hrefpara garantir que não haja mais do que uma em uma única linha).
Para extrair links de várias páginas semelhantes, por exemplo, todas as perguntas nas primeiras 10 páginas deste site, use um forloop.

para i em $(seq 1 10); fazer
wget -O - http://superuser.com/questions?page=$i | \
sed 's/href=/\nhref=/g' | \
grep -E 'href="http://superuser.com/questions/[0-9]+' | \
sed 's/.*href="//g;s/".*//g' >> out.txt
feito

Lembre-se de substituir http://example.com/webpage.htmpelo URL real da sua página e http://specify.compela string anterior que você deseja especificar.
Você pode especificar não apenas uma string anterior para o URL exportar, mas também um padrão de Expressão Regular se usar egrepou grep -Eno comando fornecido acima.
Se você estiver executando um Windows, considere aproveitar as vantagensCygwin. Não se esqueça de selecionar os pacotes Wget, grep, e sed.

Responder2

Se você concorda em usar o Firefox para isso, você pode usar o complementoSnap Links Plus

  1. Mantenha pressionado o botão direito do mouse e arraste uma seleção ao redor dos links.

  2. Quando eles estiverem destacados, pressione e segure Control enquanto solta o botão direito do mouse.

informação relacionada