google api - you - Límite de cuota de Google Trends
google trends youtube (4)
Probablemente desactivó sus cookies, lo que hace que Google Trends piense que es un robot
Estoy intentando extraer datos de las tendencias de Google y obtuve el error "Has llegado a tu límite diario" después de solo 2 intentos.
¿Hay alguna forma de evitar esto? Sé que los proyectos de API de Google tienen límites de cuota especiales, pero Google Trends no tiene una API. También leí que es posible que tengamos que pasarle un archivo de cookies para que parezca que estoy conectado. ¿Alguien ha enfrentado este problema anteriormente?
Creo que he encontrado una manera de resolver el problema. Solo asegúrese de llamar a Google Trends API con la cookie PREF
. Es decir que no necesita iniciar sesión en la cuenta de Google. Por supuesto, no es necesario que emule el navegador. La cookie PREF
es suficiente.
DE ACUERDO. ¿De dónde viene la cookie PREF
? Es muy fácil. Simplemente abra el navegador e inicie sesión en su cuenta de Google. Finalmente, busque la cookie PREF
en el sitio web de Google, justo debajo del dominio www.google.com
Luego, copie el valor de la cookie PREF
en su programa o script. Eso es todo.
He llamado a Google Trends API cientos de veces en varios segundos por este camino. ¡Buena suerte para ti!
Encontré este artículo sobre prevención o simplemente un efecto Zeta-Jones en Google Trends, era tan utilizable: G Fond, A Gamanb, E Haffenb, P Llorca. "Google Trends: ¿listo para la prevención del suicidio en tiempo real o simplemente un efecto Zeta-Jones?". Revista Internacional de Redes de Computadoras y Seguridad de las Comunicaciones 3, no. 1 (2015): 1-5.
¡Estoy luchando con el mismo problema! De su pregunta no puedo entender qué etapa ha logrado ... Pero aquí está la solución que he encontrado:
- Deberías emular el navegador con cookies. Creo que la mejor manera de hacerlo es usar la biblioteca Mechanize .
- Al principio, su programa debe "iniciar sesión" usando la solicitud GET para " https://accounts.google.com/Login?hl=en "
- Inmediatamente después, puede acceder a otros recursos personales, ¡ pero no a las tendencias de Google!
- Después de un tiempo considerable , puede obtener datos de tendencias de Google como CSV.
- Todavía no descubrí el período de tiempo exacto, pero es más de 10 minutos y menos de varias horas :). ¡Es por eso que guardar sus cookies para su uso posterior es una buena idea!
Algunos consejos más:
Si está desarrollando usando python / ruby en Windows, no olvide configurar el paquete de certificados de CA ROOT para la biblioteca OpenSSL. ¡De lo contrario, la conexión HTTPS fallará y no podrá iniciar sesión! Consulte Obtención del error `certificate verify failed (OpenSSL :: SSL :: SSLError)` con el objeto Mechanize
Te recomiendo que guardes las cookies en el archivo externo al apagar el programa. Y restaurarlos al inicio.
No olvide permitir redireccionamientos, porque Google usa redireccionamientos todo el tiempo.
Ejemplo de código 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