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

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

Ответ 1

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

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

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

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

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

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

Ответ 2

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

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

с завитком:

curl $url

с помощью wget:

wget -O - $url

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

lynx -dump $url

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

Удачи :)

Ответ 3

Существует команда wget или curl.

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


Ресурсы:

Ответ 4

content=`wget -O - $url`

Ответ 5

Вы можете использовать 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.

Ответ 6

Если у вас установлен LWP, он предоставляет двоичный код, просто называемый GET".

$ GET http://example.com
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
  <META http-equiv="Content-Type" content="text/html; charset=utf-8">
  <TITLE>Example Web Page</TITLE>
</HEAD> 
<body>  
<p>You have reached this web page by typing &quot;example.com&quot;,
&quot;example.net&quot;,&quot;example.org&quot
  or &quot;example.edu&quot; into your web browser.</p>
<p>These domain names are reserved for use in documentation and are not available 
  for registration. See <a href="http://www.rfc-editor.org/rfc/rfc2606.txt">RFC 
  2606</a>, Section 3.</p>
</BODY>
</HTML>

wget -O-, curl и lynx -source ведут себя аналогично.

Ответ 7

Я хочу воздать всемогущую благодарность доктору Хасану из Медицинской травяной клиники Solution, который помог мне с его лечением для моего ХОБЛ, пожалуйста, помогите мне поблагодарить его, он великий человек, которого Бог послал с небес, чтобы спасти людям жизнь, этот человек также Спасите жизнь моего друга, у которого диабет, пожалуйста, поблагодарите этого человека за меня, также, если у вас есть какие-либо проблемы, вы также можете обратиться к нему в клинику, чтобы помочь вам, он замечательный человек, электронная почта: solutionsherbalclinic @gmail. com, вы можете заказать его товар в любой точке мира на www.solutionhealthherbalclinic.com