我不知道您使用的是哪种编程语言,但总体思路是使用正确的 cookie 设置加载 google 搜索页面(在撰写本文时它们是如何存储的)。
您可以在 Google Chrome 中设置并查看 cookie。为避免不必要的 cookie,首先打开一个新的隐身窗口 (Ctrl+Shift+N),然后导航到搜索设置 (@987654321 @)。
在撰写本文时,您需要选中“从不显示即时结果”,然后将“每页结果”的滑块调整为您想要的任何值。点击底部的“保存”后,您现在可以通过打开开发者控制台 (Ctrl+Shift+J) 查看您的 cookie,并且导航到资源选项卡。
同样,在撰写本文时,Google 设置了两个变量,NID 和 PREF。 PREF 是我们有兴趣让搜索结果发生变化的人。它的外观示例:
ID=8155cce71859f7d0:U=fe6e69e174148b7b:FF=0:LD=en:NR=40:TM=1379366492:LM=1379366586:SG=2:S=FoybwBhek8noyp0t
(此键获取 40 个结果,如 NR=40 所示)
使用此键 (PREF) 和它的值(如上所示),您可以在通过 wget、curl 等请求页面时发送 cookie。在我最近的与此相关的项目中,我使用node 和requests library。
这是一个关于如何获取具有 40 个结果的 Google 页面的 sn-p(请求文档中的修改示例):
var j = request.jar();
var cookie = request.cookie('PREF=ID=8155cce71859f7d0:U=fe6e69e174148b7b:FF=0:LD=en:NR=40:TM=1379366492:LM=1379366586:SG=2:S=FoybwBhek8noyp0t');
j.add(cookie);
request({url: 'https://www.google.com/search', jar: j},
function(error, response, body) {
// do something with the body (html) of the page!
});
或者查看 wget / curl 的手册页。我知道 wget 指定了一个您可以使用的 --load-cookies 标志。
您可以将此应用到您需要内容的任何其他基于 cookie 的网站。雅虎!使用基于 cookie 的设置 - 我不确定 Bing 使用什么。