Google 趋势配额限制

2023-11-22

我试图从 Google 趋势中提取数据,仅尝试了 2 次就收到“您已达到每日限制”错误。

有什么办法可以解决这个问题吗?我知道 Google API 项目有特殊的配额限制,但 Google Trends 没有 API。我还读到我们可能需要向它传递一个 cookie 文件,以便看起来我已经登录了。以前有人遇到过这个问题吗?


我正在为同样的问题苦苦挣扎! 从你的问题我无法弄清楚你已经达到了什么阶段...... 但这是我找到的解决方案:

  1. 您应该使用 cookie 来模拟浏览器。 我认为最好的方法是使用机械化图书馆。
  2. 首先,您的程序应该使用 GET 请求“登录”到“https://accounts.google.com/Login?hl=en"
  3. 之后您就可以访问其他一些个人资源,但不是谷歌趋势!
  4. 经过一些重要的是时候您可以成功获取 CSV 格式的 google 趋势数据了。
  5. 具体时间我还没查到,不过十多分钟,不到几个小时:)。这就是为什么保存 cookie 以供以后使用是个好主意!

更多提示:

  • 如果您在 Windows 下使用 python / ruby​​ 进行开发,请不要忘记为 OpenSSL 库设置 CA ROOT 证书包。否则 HTTPS 连接将失败,您将无法登录!看使用 Mechanize 对象获取“证书验证失败 (OpenSSL::SSL::SSLError)”错误

  • 我建议您在程序关闭时将 cookie 保存到外部文件。并在启动时恢复它们。

  • 不要忘记允许重定向,因为 Google 一直在使用重定向。

Ruby 代码示例:

require 'mechanize'
require 'logger'
begin
  agent = Mechanize.new { |a|
    a.user_agent = 'Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.16'

    cert_store = OpenSSL::X509::Store.new
    cert_store.add_file 'cacert.pem'
    a.cert_store = cert_store

    a.log = Logger.new('mech.log')

    if File.file?('mech.cookies')
      cookies = Mechanize::CookieJar.new
      cookies.load('mech.cookies')
      a.cookie_jar = cookies
    end

    a.open_timeout = 5
    a.read_timeout = 6
    a.keep_alive   = true
    a.redirect_ok  = true
  }

  LOGIN_URL = "https://accounts.google.com/Login?hl=en&continue=http://www.google.com/trends/"
  login_page = agent.get(LOGIN_URL)
  login_form = login_page.forms.first
  login_form.Email = *
  login_form.Passwd = *
  login_response_page = agent.submit(login_form)

  page = agent.get(url)

  # DO SOME TRENDS REQUESTS AFTER SIGNIFICANT PERIOD OF TIME

ensure
  if agent
    agent.cookie_jar.save('mech.cookies')
  end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google 趋势配额限制 的相关文章

随机推荐