Как получить текст страницы с помощью wget без html?

Как получить текст страницы с помощью wget без html?

Если я пробую wget на веб-странице, я получаю страницу как html. Возможно ли получить только текст файла без связанного html? (Это необходимо для меня, так как некоторые HTML-страницы содержат программу c, которая загружается с тегами html. Мне приходится открывать ее в браузере и вручную копировать текст, чтобы создать файл .c.)

решение1

wgetтолько извлечет документ. Если документ в формате HTML, то вам нужен результат разбора документа.

Например, вы можете использовать lynx -dump -nolist, если у вас поблизости есть рысь.

lynx— это легкий и простой веб-браузер, имеющий функцию -dump, используемую для вывода результата процесса синтаксического анализа. -nolistпозволяет избежать списка ссылок в конце, который появится, если на странице есть какие-либо гиперссылки.

Как упомянул @Thor, elinksможет использоваться и для этого, так как у него также есть -dumpопция (и он должен -no-referencesопустить список ссылок). Это может быть особенно полезно, если вы ходите по какому-то сайту, используя -sigh- фреймы (MTFBWY).

Кроме того, имейте в виду, что если страница на самом деле не представляет собой просто код C с тегами HTML, вам нужно будет проверить результат, чтобы убедиться, что там нет ничего, кроме кода C.

решение2

Если у вас не установлены эти инструменты, а только wget, и на странице нет форматирования, только простой текст и ссылки, например, исходный код или список файлов, вы можете очистить HTML с помощью sed следующим образом:

wget -qO- http://address/of/page/you/want/to/view/ | sed -e 's/<[^>]*>//g'

Здесь wget используется для выгрузки исходного кода страницы в STDOUT, а sed — для удаления всех пар < > и всего, что находится между ними.

Затем вы можете перенаправить вывод команды sed в файл, который вы хотите создать, используя >:

wget -qO- http://.../ | sed -e 's/<[^>]*>//g' > downloaded_file.txt

Примечание: Вы можете обнаружить, что в файле есть лишние пробелы, которые вам не нужны (например, строки смещены на несколько столбцов).

Возможно, проще всего будет воспользоваться текстовым редактором, чтобы привести файл в порядок (или средством форматирования исходного кода, если вы загружаете исходный код на языке C).

Если вам нужно сделать то же самое простое действие с каждой строкой файла, вы можете включить команду для этого в команду sed (здесь удаляется один начальный пробел):

wget -qO- http://.../ | sed -e 's/<[^>]*>//g;s/^ //g' > downloaded_stripped_file.txt

решение3

просто чтобы добавить еще один инструмент. Я предпочитаю w3m, который является lynxкак бы консольным браузером. Вы можете проверить, что уже доступно в вашей системе.

w3m -dump website.html

Связанный контент