[linux] 쉘 변수에서 웹 페이지의 내용을 얻는 방법은 무엇입니까?

Linux에서 URL을 가져오고 셸 스크립트의 변수에 해당 내용을 가져 오는 방법은 무엇입니까?



답변

wget명령을 사용 하여 페이지를 다운로드하고 다음과 같이 변수로 읽을 수 있습니다.

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

페이지 내용 을 덤프 할 파일의 이름을 지정할 수 있는 -O옵션을 사용합니다 . 표준 출력에 덤프를 가져 와서 변수에 수집하도록 지정 합니다 . 조용한 옵션을 추가하여 wget 출력을 끌 수 있습니다 .wgetwget-content-q

다음과 같이 curl 명령을 사용할 수도 있습니다 .

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

-L요청한 페이지가 이동되었을 수 있으므로 옵션 을 사용해야합니다 . 이 경우 새 위치에서 페이지를 가져와야합니다. -L또는 --location옵션이 우리를 도와줍니다.


답변

명령 줄에서 페이지를 가져 오는 방법에는 여러 가지가 있지만 코드 소스 또는 페이지 자체를 원하는지 여부도 다릅니다.

코드 소스가 필요한 경우 :

컬 포함 :

curl $url

wget 사용 :

wget -O - $url

그러나 브라우저로 볼 수있는 것을 얻으려면 lynx가 유용 할 수 있습니다.

lynx -dump $url

이 작은 문제에 대한 많은 해결책을 찾을 수 있다고 생각합니다. 아마도 해당 명령에 대한 모든 매뉴얼 페이지를 읽어야 할 것입니다. 그리고 $urlURL 로 바꾸는 것을 잊지 마십시오 🙂

행운을 빕니다 🙂


답변

wget명령이나이 curl.

이제 wget으로 다운로드 한 파일을 사용할 수 있습니다. 또는 컬로 스트림을 처리 할 수 ​​있습니다.


자원 :


답변

content=`wget -O - $url`


답변

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> 예시 웹 페이지 </ TITLE>
</ HEAD>
<본체>
<p> & quot; example.com & quot;을 입력하여이 웹 페이지로 이동했습니다.
& quot; example.net & quot;, & quot; example.org & quot
  또는 & quot; example.edu & quot; 웹 브라우저로. </ p>
<p>이 도메인 이름은 문서 용으로 예약되어 있으며 사용할 수 없습니다.
  등록을 위해. <a href="http://www.rfc-editor.org/rfc/rfc2606.txt"> RFC를 참조하십시오.
  2606 </a>, 섹션 3. </ p>
</ BODY>
</ HTML>

wget -O-, curllynx -source유사하게 작동합니다.


답변

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.


답변