2010-10-10 7 views
2

как я могу получить доступ к google!доступ к google с python

я был попробовать, что код

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

но показать сообщение prove you are human или некоторые думают, как Даты

некоторые люди говорят, пытаются агент пользователя !! не знаю !

+3

Чтобы сделать Google поиск, использовать Google AJAX Search API: http://stackoverflow.com/questions/1657570/google-search-from-a-python-app/1657597#1657597 – unutbu

ответ

1

Строка пользовательского агента действительно способ ... выберите любой действительный пользовательский агент из любого общего браузера. В Python 2.x, следующий код должен дать вам то, что вы хотите:

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() 

Сказав, что рекомендация unutbu на использование API поиска Google (если вы хотите, чтобы сделать поиск), безусловно, лучше, путь ... избегает всего этого беспорядочного разбора HTML.

+0

я попытался поиск как что inurl: «Wops», но это сообщение об ошибках печати! – Str1k3r

10

Вы должны использовать Google API для доступа к поиску. Here's an example for python. Unutbu предоставил ссылку на older SO answer, которая содержит исправленную версию того же примерного кода.

#!/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: вы можете найти более подробную информацию http://code.google.com/apis/ajaxsearch/documentation/reference.html#_intro_fonje – shahjapan

Смежные вопросы