2

我的一些程序向 Google 发送直接查询,然后解析 HTML 结果 - 例如http://www.google.com/search?q=foobar&hl=en&num=20

不幸的是,似乎从最近开始,当向 Google 发送此类查询时,由于即时搜索,“num”参数被忽略了。无论如何,页面中只显示 10 个结果。如果您禁用即时搜索,那么它会再次起作用。问题是设置存储在cookie或其他东西中,如果可能的话,从程序端预先设置是非常不切实际的。

有没有办法在查询中添加一个额外的参数来绕过即时搜索并让“num”再次工作?我确定我不只是一个解析 Google HTML 结果的人......

4

4 回答 4

6

只需添加“&as_qdr=all”

http://www.google.com/search?q=foobar&hl=en&num=2&start=0&as_qdr=all

于 2010-10-07T12:52:53.770 回答
0

一种解决方法是使用仍然有效的“start”参数并发送多个查询,但它不是很干净。

http://www.google.com/search?q=foobar&hl=en&num=20&start=0
http://www.google.com/search?q=foobar&hl=en&num=20&start=10
...
于 2010-10-07T03:08:47.067 回答
0

更多调查表明,这个“错误”似乎只发生在 Web 浏览器上,而不是在使用不提供用户代理的 HTTP 客户端时发生。

所以事情毕竟还是好的!

于 2010-10-07T12:39:15.973 回答
0

&complete=0也将工作。

例如: http ://www.google.com/search?q=foobar&hl=en&num=20&complete=0

请参阅此 webapps-link

于 2013-08-07T13:12:16.323 回答