【问题标题】:Issue with HttpWebRequest Google.comHttpWebRequest Google.com 的问题
【发布时间】:2013-08-31 08:34:44
【问题描述】:

我有一个在 Google 上搜索的 C# 应用程序。几次点击后,我看到了验证码消息。

为了解决这个问题,我打开 Internet Explorer,转到同一页面,同时我也会看到验证码。我完成了,然后,一切都很好;显示搜索结果。

但在我的 c# 应用程序中,当我点击相同的 URL 时,我仍然看到验证码。为什么会这样,我怎么能绕过它?我很困惑,因为我已经完成了验证码(使用 IE),那么为什么我在 c# 的下一次点击中再次看到它,而不是从浏览器中看到它!

我只需要指出正确的方向,或者一些想法或建议。

【问题讨论】:

  • 不是很清楚吗? Google 不希望您抓取该页面。请改用 Search API。
  • @I4V 我知道,并不是我想废弃它,这就是为什么当我输入验证码时它在应用程序上显示验证码而不是在网页上显示
  • @必须让我成功一次:|在验证码之后让我们看看它是否继续......

标签: c# httpwebrequest web-scraping


【解决方案1】:

我不知道 Google 是如何做到的,但我看到过一些网站会根据以下情况跟踪您使用它们的频率:

  1. IP 地址
  2. 用户代理字符串
  3. Cookie

您可以欺骗数字 2,使其与 Internet Explorer 中的相同,以防万一。

我想第 3 个很容易检查,如果有 cookie,您可以传输 cookie。

【讨论】:

  • 1- 相同,在同一台电脑上,2 也一样,3 也必须是,因为我只是打开 IE 并输入该 url 并搜索与 HTTPRequest 中相同。
【解决方案2】:

Google 想阻止其他人通过自己的应用程序发送请求,没有广告,...。也许这就是攻击,你有两个选择: 1. 你的应用程序应该像浏览器一样行事,例如修改 User-Agent 和 cookies。 2.联系google为您提供API。我确信谷歌为此提供了 API,但我没有更多详细信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多