Если вы работаете в системе Linux или Unix (например, FreeBSD или macOS), вы можете открыть сеанс терминала и выполнить следующую команду:
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
В обычных случаях в одной строке может быть несколько тегов <a href> , поэтому сначала их нужно обрезать (первый sed добавляет новые строки перед каждым ключевым словом href чтобы убедиться, что в одной строке не более одного из них).
Чтобы извлечь ссылки из нескольких похожих страниц, например, из всех вопросов на первых 10 страницах этого сайта, используйте цикл for .
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
Не забудьте заменить http://example.com/webpage.htm фактическим URL страницы, а http://specify.com - предыдущую строку, которую вы хотите указать.
Вы можете указать не только предыдущую строку для URL-адреса для экспорта, но также и шаблон регулярного выражения, если вы используете egrep или grep -E в приведенной выше команде.
Если вы используете Windows, рассмотрите возможность использования Cygwin. Не забудьте выбрать пакеты Wget , grep и sed .