2010-09-18 76 views

回答

133

可以使用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选项可以帮助我们解决这个问题。

+2

我解释过了,你的问题已经编辑完毕,所以我的downvote并不意味着什么了......(它实际上变成了upvote)。 – 2010-09-18 19:08:20

+0

这是一个非常巧妙的把戏。我通过代理服务器上的php脚本调用shell脚本。当被问及时,代理服务器会打开昂贵的服务器,这些服务器在2小时后关闭。我需要wget的输出作为标准输出以反馈Jenkins控制台记录。 – Dennis 2012-07-12 01:42:40

+0

我还没有得到这个...任何人都可以介绍如何,例如。在这个链接的变量中获得一个img标签http://www2.watchop.io/manga2/read/one-piece/1/4 ?? – juggernaut1996 2016-10-30 09:05:13

2
content=`wget -O - $url` 
+2

'$(...)'比''''更受欢迎,请参阅http://mywiki.wooledge.org/BashFAQ/082 – Giacomo 2010-09-18 19:18:36

+2

我想我正在展示我的年龄。回到当天,所有的_we_都是反反复复的...而且我们喜欢它!现在离开我的草坪吧! – 2010-09-18 19:28:18

+0

@rjack :(但是你链接的文章确实为$(...)语法提供了一个很好的例子。) – 2010-09-18 19:33:35

2

您可以使用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. 
20

有很多的方式来获得在命令行的网页...但它也取决于你想要的代码源或页面本身:

如果您需要的代码源

与卷曲: curl $url

与wget的: wget -O - $url

,但如果你娃NT得到什么,你可以用浏览器看,猞猁可能有用: lynx -dump $url

我认为你可以为这个小问题,找到这么多的解决方案,也许你应该阅读所有手册页的命令。不要忘记您的网址:)替换$网址

祝你好运:)

2

如果您已经安装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-curllynx -source行为类似。