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