Получение текста и ссылок с веб-страницы
Я хотел бы иметь скрипт, который загружает веб-страницу с помощью curl, передает ее на w3m, которая удаляет его из всего содержимого, кроме текста и ссылок.
Можно ли указать для опции -T в w3m более одного типа контента и как?
Чтобы уточнить мой вопрос немного больше, вот пример:
curl --user-agent "Mozilla/4.0" https://Ask-ubuntu.ru/questions -s | w3m -dump -T text/html
который возвращает только текст со страницы вопросов Ask Ubuntu, но без ссылок. Если w3m не может это сделать, есть ли другой инструмент, способный одновременно очищать текст и ссылки?
3 ответа
Ну, после обширных собственных исследований, я думаю, такого инструмента нет...
Однако, что бы это ни стоило, я обнаружил, что hxnormalize делает написание нужного мне скрипта относительно простым делом.
Ты можешь использовать
lynx -dump
. Он будет включать число вроде
[16]
перед каждой ссылкой, а затем список URL-адресов в конце документа.
Для использования трубы вы можете использовать
lynx -dump -force_html -stdin
. Однако он не будет правильно обрабатывать относительные ссылки, потому что не знает исходный URL.
Так что лучший способ сделать
lynx -dump http://.../
без отдельных
curl
.
Я думаю-o display_link_number=1
делает то, что вы хотите, например:
$ w3m -dump -o display_link_number=1 http://example.org
Example Domain
This domain is for use in illustrative examples in documents. You may use this
domain in literature without prior coordination or asking for permission.
[1]More information...
References:
[1] https://www.iana.org/domains/example