Me gustaría raspar la lista de discusión de un grupo de google privado. Es una lista de varias páginas y podría tener que volver a hacerlo más tarde para que las secuencias de comandos suenen como el camino a seguir.¿Cómo raspar un _private_ google group?
Como se trata de un grupo privado, primero necesito iniciar sesión en mi cuenta de Google. Lamentablemente, no logro iniciar sesión usando wget o ruby Net :: HTTP. Sorprendentemente, Google Groups no es accesible con el Client Login interface, por lo que todos los ejemplos de código son inútiles.
Mi script de ruby está incrustado al final de la publicación. La respuesta a la consulta de autenticación es 200-OK, pero no hay cookies en los encabezados de respuesta y el cuerpo contiene el mensaje "La funcionalidad de cookies de su navegador está desactivada. Enciéndala".
Obtuve la misma salida con wget. Vea el script bash al final de este mensaje.
No sé cómo solucionar esto. ¿Me estoy perdiendo de algo? ¿Alguna idea?
Gracias de antemano.
John
Aquí está la secuencia de comandos de rubí:
# a ruby script
require 'net/https'
http = Net::HTTP.new('www.google.com', 443)
http.use_ssl = true
path = '/accounts/ServiceLoginAuth'
email='[email protected]'
password='topsecret'
# form inputs from the login page
data = "Email=#{email}&Passwd=#{password}&dsh=7379491738180116079&GALX=irvvmW0Z-zI"
headers = { 'Content-Type' => 'application/x-www-form-urlencoded',
'user-agent' => "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/6.0"}
# Post the request and print out the response to retrieve our authentication token
resp, data = http.post(path, data, headers)
puts resp
resp.each {|h, v| puts h+'='+v}
#warning: peer certificate won't be verified in this SSL session
Aquí está la escritura del golpe:
# A bash script for wget
CMD=""
CMD="$CMD --keep-session-cookies --save-cookies cookies.tmp"
CMD="$CMD --no-check-certificate"
CMD="$CMD --post-data='[email protected]&Passwd=topsecret&dsh=-8408553335275857936&GALX=irvvmW0Z-zI'"
CMD="$CMD --user-agent='Mozilla'"
CMD="$CMD https://www.google.com/accounts/ServiceLoginAuth"
echo $CMD
wget $CMD
wget --load-cookies="cookies.tmp" http://groups.google.com/group/mygroup/topics?tsc=2
Hola systempuntoout, gracias por su respuesta. No sabía Mechanize. Me las arreglé para iniciar sesión y raspar algunas páginas, así que es genial. Compartiré el guión más tarde. Gracias de nuevo, John – John
@John: ¿cuánto más tarde? :-) –
gracias por ese enlace! ¡básicamente puedes navegar la web con IRB y un objeto mecanizado! – grinch