0

我想使用 wget 下载 Google Trends csv 数据,但我不熟悉使用 wget。一个示例 URL 是:

http://www.google.com/insights/search/overviewReport?cat=71&geo=US&q=apple&date&cmpt=q&content=1&export=1

用网络浏览器打开它,我检索到预期的文件。要使用 wget 执行此操作,我尝试了以下命令:

wget "http://www.google.com/insights/search/overviewReport?cat=71&geo=US&q=apple&date&cmpt=q&content=1&export=1" -O report.csv

结果如下:

<html><head><title>Redirecting</title>
<meta http-equiv="refresh" content="0; url=&#39;http://www.google.com/insights/search#content=1&amp;cat=71&amp;geo=US&amp;q=apple&amp;date&amp;cmpt=q&#39;"></head>
<body bgcolor="#ffffff" text="#000000" link="#0000cc" vlink="#551a8b" alink="#ff0000"><script type="text/javascript" language="javascript">
    location.replace("http://www.google.com/insights/search#content\x3d1\x26cat\x3d71\x26geo\x3dUS\x26q\x3dapple\x26date\x26cmpt\x3dq")
  </script></body></html>

我的第一个猜测是,wget它无法通过适当的身份验证访问 cookie。

有人吗?

4

1 回答 1

2

您收到重定向消息。位中的 URLlocation.replace和您从 Google 获得的有效index.htmlURL 是您在第二次调用wget.

我认为您根本没有下载 csv 数据的正确 URL。有关如何使用下载器“点击”CGI 界面的工作示例,请查看tseries包中的R get.hist.quote()

编辑: 这是 get.hist.quote() 的作用:

R> IBM <- get.hist.quote("IBM")
trying URL 'http://chart.yahoo.com/table.csv?s=IBM&a=0&b=02&c=1991&d=9&e=08&f=2009&g=d&q=q&y=0&z=IBM&x=.csv'
Content type 'text/csv' length unknown
opened URL
.......... .......... .......... .......... ..........
.......... .......... .......... .......... ..........
.......... .......... .......... .......... ..........
.......... .......... .......... .......... ..........
.......... .......... .......... ......
downloaded 236 Kb

R>

您可以直接点击相同的 URL,如您可以研究的代码中所示。如果您需要 cookie,您可能需要查看 Duncan TL 的代码才能访问 Google Docs 等。

于 2009-10-09T16:50:11.950 回答