如何在一个shellvariables中获取网页的内容?

在Linux中,我如何获取URL并在shell脚本中获取其variables?

您可以使用wget命令下载页面并将其读入一个variables,如下所示:

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

我们使用wget-O选项,它允许我们指定wget转储页面内容的文件的名称。 我们指定-将转储转换为标准输出并将其收集到variablescontent 。 您可以添加-q quiet选项来closureswget输出。

你可以使用curl命令来做这件事:

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

我们需要使用-L选项,因为我们要求的页面可能已经移动了。 在这种情况下,我们需要从新的位置获取页面。 -L--location选项可以帮助我们--location这一点。

有很多方法可以在命令行中获取页面,但是也取决于代码源或页面本身:

如果你需要代码源

用curl: curl $url

用wget: wget -O - $url

但如果你想得到你可以用浏览器看到的,lynx可以是有用的: lynx -dump $url

我想你可以为这个小问题find这么多的解决scheme,也许你应该阅读所有的手册页的这些命令。 并且不要忘记用你的urlreplace$ url

祝你好运 :)

wget命令或curl

你现在可以使用你用wget下载的文件。 或者你可以处理curl的stream。


资源:

  • linux.die – man wget
  • linux.die – 男人curl
 content=`wget -O - $url` 

您可以使用curlwget来检索原始数据,也可以使用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. 

如果你安装了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> 
 <BODY>  
 <p>您已通过input“example.com”到达此网页
 &QUOT; example.net&QUOT;,&QUOT; example.org&QUOT
  或“example.edu” 进入您的networking浏览器。</ p>
这些域名保留在文档中使用,不可用 
  进行注册。 请参阅<a href="http://www.rfc-editor.org/rfc/rfc2606.txt"> RFC 
   2606 </a>,第3节。</ p>
 </ BODY>
 </ HTML>

wget -O-curllynx -source行为类似。