是否可以通过 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 请求。
我知道如何通过 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 请求。