首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于复杂的搜索查询,Google搜索返回503错误

对于复杂的搜索查询,Google搜索返回503错误
EN

Stack Overflow用户
提问于 2012-03-23 22:54:25
回答 3查看 3.4K关注 0票数 3

当我尝试在C#中使用HttpWebRequest下载谷歌搜索结果页面时,如果我使用简单的搜索词,一切都很好,比如

代码语言:javascript
复制
http://www.google.com/search?q=stackoverflow

但是,当我试图使它变得更复杂时,例如

代码语言:javascript
复制
http://www.google.com/search?q=inurl%3A%22goethe%22%20filetype%3Apdf

这意味着

代码语言:javascript
复制
inurl:"goethe" filetype:pdf

,我将收到一个503错误,因为Google认为我是一个机器人。有什么变通方法吗?

编辑: UserAgent设置为"Mozilla/5.0“。

EN

回答 3

Stack Overflow用户

发布于 2012-03-23 23:03:11

好吧..。如果您的搜索是以编程方式完成的,那么Google恰好是正确的。你是一个机器人:-)

干杯!

票数 3
EN

Stack Overflow用户

发布于 2012-03-23 23:23:52

我不认为这与你的查询有多复杂有太大关系。唯一重要的是他们是否认为你是个机器人。如果你以非常高的速度提交查询,那么Google会认为你是一个机器人,所以有几种可能的解决方案:

  1. 降低您发送queries.
  2. Use proxies to make multiple queries.

的速率

另外,需要注意的是,如果你在没有保存cookie的情况下进行web请求,那么这可能是Google认为你是机器人的另一个“信号”。你还应该非常小心,不要让谷歌阻止代理,因为你正在刮大G。很难找到免费的代理,如果你滥用它们,它们就会被关闭,所以要做一个好公民!

祝好运!

票数 1
EN

Stack Overflow用户

发布于 2012-03-24 03:04:14

尝试Google Custom Search APIs and Tools.这将允许您检索搜索结果,而不必担心被拒绝访问(最多限制)。

或者,模仿典型搜索查询的所有细微差别。例如,在我的浏览器中,搜索inurl:"goethe" filetype:pdf会导致this URL被请求。

然后是cookie和其他http报头。让它看起来更像是浏览器在请求它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9841374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档