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

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

3 Solutions collect form web for “Как получить текст страницы с помощью wget без html?”

wget будет извлекать только документ. Если документ находится в HTML, то вы хотите получить результат анализа документа.

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

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

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

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

Если у вас не установлены эти другие инструменты, только 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 

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

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

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

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

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

 w3m -dump website.html 
  • Попытка получить динамическую страницу с wget без успеха
  • wget --spider: как определить, где неработающие ссылки происходят из
  • Сценарий оболочки для захвата одного или нескольких видео Wistia
  • Как загрузить все изображения из темы форума с помощью wget
  • wget не может быть убит с помощью 'kill -9'
  • Wget не загружает файлы PNG из Blogger
  • Может ли wget * печатать * URL-адреса зависимостей страниц?
  • Wget - зеркальное отображение полного сайта с реквизитами на разных сайтах
  • завиток и wget отрезать URL-адрес
  • bash не может найти команду mvn после установки
  • Рекурсивный wget дает «недопустимый символ найден в заданном диапазоне»
  • Linux и Unix - лучшая ОС в мире.