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 sed
adiciona novas linhas antes de cada palavra-chave href
para 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 for
loop.
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.htm
pelo URL real da sua página e http://specify.com
pela 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 egrep
ou grep -E
no 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
Mantenha pressionado o botão direito do mouse e arraste uma seleção ao redor dos links.
Quando eles estiverem destacados, pressione e segure Control enquanto solta o botão direito do mouse.