2010-10-10 2 views
2

comment je peux accéder à google !!accès à google avec python

i fait essayer ce code

urllib.urlopen('http://www.google.com') 

mais il est un message spectacle prove you are human ou certains pensent comme dat

certaines personnes disent essayer agent utilisateur !! je ne sais pas !

+3

Pour effectuer des recherches Google, utilisez la recherche Google AJAX API: http://stackoverflow.com/questions/1657570/google-search-from-a-python-app/1657597#1657597 – unutbu

Répondre

1

Une chaîne d'agent utilisateur est en effet le chemin à parcourir ... choisissez n'importe quel agent utilisateur valide à partir de n'importe quel navigateur commun. En 2.x python, le code suivant devrait vous donner ce que vous voulez:

import urllib2 
r = urllib2.Request('http://www.google.com/') 
r.add_header('User-Agent', 
      'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.19) ' 
      'Gecko/20081202 Firefox (Debian-2.0.0.19-0etch1)') 
html = urllib2.urlopen(r).read() 

Cela dit, la recommandation de unutbu utiliser l'API de recherche Google (si vous cherchez à faire des recherches) est de loin le meilleur chemin à parcourir ... évite tout ce désordre HTML analyse.

+0

i essayé Recherche comme que inurl: "Wops" mais c'est le message d'erreurs d'impression !! – Str1k3r

10

Vous devez utiliser le Google API pour accéder à la recherche. Here's an example for python. Unutbu a fourni un lien vers un older SO answer qui contient une version corrigée du même exemple de code.

#!/usr/bin/python 
import urllib, urllib2 
import json 

api_key, userip = None, None 
query = {'q' : 'search google python api'} 
referrer = "https://stackoverflow.com/q/3900610" 

if userip: 
    query.update(userip=userip) 
if api_key: 
    query.update(key=api_key) 

url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' % (
    urllib.urlencode(query)) 

request = urllib2.Request(url, headers=dict(Referer=referrer)) 
json = json.load(urllib2.urlopen(request)) 

results = json['responseData']['results'] 
for r in results: 
    print r['title'] + ": " + r['url'] 
+2

@ Str1k3r: vous pouvez trouver plus d'informations http://code.google.com/apis/ajaxsearch/documentation/reference.html#_intro_fonje – shahjapan

Questions connexes