是否可以通过 curl 或 wget 获取指定时间段的 Google 搜索结果?

Is it possible to get Google search result specifying period via curl or wget?

我知道如何通过 curl 获得 google 搜索结果,例如:

curl -sA "Chrome" -L 'http://www.google.com/search?hl=en&q=candy&num=100&start=0' -o abc.html

但是,有点奇怪,当我指定结果期间时,我无法获得有效的搜索结果。

curl -sA "Chrome" -L "https://www.google.com/search?q=candy&num=100&source=lnt&tbs=cdr%3A1%2Ccd_min%3A1%2F1%2F2010%2Ccd_max%3A12%2F31%2F2010&tbm=" -o /mytmp/out.html

我的意思是上面的命令是在浏览器上使用 "search tool" -> "specify 2010/1/1 to 2010/12/31" 时的类似查询,如下图所示。但是,通过 curl,指定周期功能不起作用。我确认命令中的 URL 在像 Firefox 这样的普通浏览器上运行良好。

如何通过 curl 或 wget 获取 google 指定时间段的搜索结果?

如果您查看源代码,您会发现那里有日期(我相信它是 javascript 的一部分)。

Jan 1, 2010 \x26#8211; Dec 31, 2010

当您使用 curl 执行此操作时,您很可能会丢失 javascript 库文件(您的浏览器会自动下载)。

我已将 -H "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0" 用于您的 curl 请求。