Мне нужно решение для экспорта всех гиперссылок на веб-странице (на веб-странице, а не со всего веб-сайта) и способ указать ссылки, которые я хочу экспортировать, например, только гиперссылки, начинающиеся сhttps://superuser.com/questions/исключая все остальное.
Экспорт в виде текстового файла предпочтителен, и результаты должны отображаться один под другим, по одному URL на строку:
https://superuser.com/questions/1
https://superuser.com/questions/2
https://superuser.com/questions/3
[...]
решение1
Если вы работаете в системе 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
.
для i в $(seq 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
.
решение2
Если вас устраивает использование Firefox, вы можете использовать дополнениеSnap-ссылки Plus
Удерживая нажатой правую кнопку мыши, выделите ссылки.
Когда они будут выделены, нажмите и удерживайте клавишу Control, одновременно отпуская правую кнопку мыши.