Domanda

Vorrei raschiare la lista di discussione di un privato gruppo di google.Si tratta di un multi-pagina e ho potuto più tardi di nuovo in modo che lo script suona come il modo di andare.

Dal momento che questo è un gruppo privato, ho bisogno di effettuare il login nel mio account google prima.Purtroppo non riesco a effettuare il login utilizzando wget o ruby Net::HTTP.Sorprendentemente google gruppi non è accessibile con la Client di interfaccia di Login, in modo che tutti gli esempi di codice sono inutili.

Il mio script ruby è incorporato alla fine del post.La risposta di autenticazione query è un 200-OK, ma non i cookie in risposta intestazioni e il corpo contiene il messaggio "cookie del browser la funzionalità è disattivata.Si prega di accendere."

Ho avuto la stessa uscita con wget.Vedere la bash script alla fine di questo messaggio.

Non so come risolvere questo problema.mi manca qualcosa?Qualche idea?

Grazie in anticipo.

Giovanni

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='john@gmail.com'
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=john@gmail.com&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
È stato utile?

Soluzione

Hai provato con mechanize per ruby?
Meccanizzare libreria è utilizzata per automatizzare l'interazione con il sito web;si può accedere a google e cercare il vostro privato google group di risparmio di che cosa avete bisogno.

Qui un esempio in cui mechanize è usato per gmail raschiare.

Altri suggerimenti

L'ho fatto in precedenza con la registrazione manualmente con Firefox e poi utilizzato Chickenfoot per automatizzare la navigazione e raschiare.

Trovato questa Soluzione PHP per raschiare privato Google Gruppi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top