Mi piacerebbe raschiare l'elenco di discussione di un gruppo privato google. È un elenco di più pagine e potrei doverlo ripetere più tardi in modo che lo scripting suoni come la strada da percorrere.Come raschiare un _private_ gruppo google?
Poiché si tratta di un gruppo privato, per prima cosa devo accedere al mio account Google. Purtroppo non riesco ad accedere utilizzando wget o ruby Net :: HTTP. Sorprendentemente i gruppi google non sono accessibili con lo Client Login interface, quindi tutti gli esempi di codice sono inutili.
Il mio script rubino è incorporato alla fine del post. La risposta alla query di autenticazione è 200-OK ma nessun cookie nelle intestazioni di risposta e il corpo contiene il messaggio "La funzionalità cookie del browser è disattivata. Attiva."
Ho ottenuto lo stesso risultato con wget. Vedi lo script bash alla fine di questo messaggio.
Non so come risolverlo. mi sto perdendo qualcosa? Qualche idea?
Grazie in anticipo.
John
Ecco lo script ruby:
# 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
Ecco lo script bash:
# 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
Hi systempuntoout, grazie per la risposta. Non conoscevo Mechanize. Sono riuscito ad accedere e raschiare alcune pagine, quindi è grandioso. Condividerò la sceneggiatura più tardi. Grazie ancora, John – John
@ John: quanto più tardi? :-) –
grazie per questo link! puoi praticamente navigare sul web con irb e un oggetto meccanizza! – grinch