Se você estiver executando em um sistema Linux ou Unix (como FreeBSD ou macOS), você pode 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 usuais, pode haver várias tags <a href>
em uma linha, então você precisa cortá-las primeiro (o primeiro sed
adiciona novas linhas antes de cada palavra-chave href
para garantir que não haja mais de uma delas em uma única linha)
Para extrair links de várias páginas semelhantes, por exemplo, todas as perguntas das primeiras 10 páginas deste site, use um for
loop.
for i in $(seq 1 10); do 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 done
Lembre-se de substituir http://example.com/webpage.htm
pelo seu URL de página real e http://specify.com
pela string anterior que você deseja especificar.
Você pode especificar não apenas uma sequência precedente para o URL a ser exportado, mas também um padrão de Expressão Regular se usar egrep
ou grep -E
no comando fornecido acima.
Se você estiver usando um Windows, considere aproveitar o Cygwin . Não esqueça de selecionar os pacotes Wget
, grep
e sed
.