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

insmod не лучший инструмент к загрузочным модулям - использование modprobe вместо этого, это более умно. В modprobeстраница справочника, Вы найдете, что она имеет a --force опция, которая могла бы загрузить модуль конфликтующей информацией о версии.

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

17
09.07.2012, 11:25
3 ответа

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

Вы могли, например, использовать lynx -dump -nolist, если у Вас есть рысь вокруг.

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

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

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

26
27.01.2020, 19:46

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

w3m -dump website.html
3
27.01.2020, 19:46

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

Теги

Похожие вопросы