Как получить содержимое веб-страницы в переменной оболочки?

В Linux, как я могу получить URL и получить его содержимое в переменной в скрипте оболочки?

95 голосов | спросил Aillyn 18 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 18 Sep 2010 22:44:42 +0400 2010, 22:44:42

5 ответов


0

Вы можете использовать команду wget, чтобы загрузить страницу и прочитать ее в переменную как:

content=$(wget google.com -q -O -)
echo $content

Мы используем параметр -O для wget, который позволяет нам указать имя файла, в который wget выводит содержимое страницы. Мы указываем -, чтобы получить дамп на стандартный вывод и собрать его в переменную content. Вы можете добавить тихую опцию -q, чтобы отключить вывод wget.

Вы можете использовать команду curl , а также:

content=$(curl -L google.com)
echo $content

Нам нужно использовать параметр -L, поскольку запрашиваемая страница могла бы переместиться. В этом случае нам нужно получить страницу с нового места. Опция -L или --location помогает нам с это.

ответил codaddict 18 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 18 Sep 2010 22:46:19 +0400 2010, 22:46:19
0

есть много способов получить страницу в командной строке ... но это также зависит от того, хотите ли вы источник кода или саму страницу:

Если вам нужен код источника

с завитком: curl $url

с помощью wget: wget -O - $url

но если вы хотите получить то, что видите в браузере, lynx может быть полезен: lynx -dump $url

Я думаю, что вы можете найти так много решений для этой маленькой проблемы, может быть, вам следует прочитать всю справочную страницу по этим командам. И не забудьте заменить $ url на ваш url:)

Удачи:)

ответил julianvdb 19 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 19 Sep 2010 00:43:20 +0400 2010, 00:43:20
0

Есть команда wget или curl

Теперь вы можете использовать файл, который вы скачали с помощью wget. Или вы можете обрабатывать поток с помощью curl.


Ресурсы:

ответил Colin Hebert 18 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 18 Sep 2010 22:47:23 +0400 2010, 22:47:23
0
content=`wget -O - $url`
ответил Jim Lewis 18 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 18 Sep 2010 22:55:16 +0400 2010, 22:55:16
0

Вы можете использовать curl или wget чтобы получить необработанные данные, или вы можете использовать w3m -dump, чтобы получить хорошее текстовое представление веб-страницы.

$ foo=$(w3m -dump http://www.example.com/); echo $foo
You have reached this web page by typing "example.com", "example.net","example.org" or "example.edu" into your web browser. These domain names are reserved for use in documentation and are not available for registration. See RFC 2606, Section 3.
ответил Giacomo 18 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 18 Sep 2010 23:13:51 +0400 2010, 23:13:51

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132