Подтвердить что ты не робот

Есть ли API-интерфейс Google Insights?

Я искал API для автоматического получения информации Google Insights для части другого алгоритма, но не смог ничего найти. Первый результат в Google предоставляет сайт с плагином python, который теперь устарел.

Существует ли такой API или кто-нибудь написал плагин, возможно, для python?

4b9b3361

Ответ 1

Насколько я могу судить, пока еще нет API, и не существует рабочей реализации метода для извлечения данных из Google Insights. Тем не менее, я нашел решение моей (немного более конкретной) проблемы, которая действительно может быть решена, зная, сколько раз выполняются определенные термины.

Это можно сделать, связавшись с протоколом Google Suggest для баров поиска веб-браузеров. Когда вы даете ему слово, он возвращает список предложенных фраз, а также количество раз, когда каждая фаза была обыскана (я не уверен в отношении единицы времени, предположительно в прошлом году).

Вот какой код для Python для этого, слегка адаптированный из кода odewahn1 в O'reilly Answers и работающий на Python 2.6 и ниже:

from sgmllib import SGMLParser
import urllib2
import urllib

# Define the class that will parse the suggestion XML
class PullSuggestions(SGMLParser):

   def reset(self):
      SGMLParser.reset(self)
      self.suggestions = []
      self.queries = []

   def start_suggestion(self, attrs):
      for a in attrs:
         if a[0] == 'data': self.suggestions.append(a[1])

   def start_num_queries(self, attrs):
      for a in attrs:
         if a[0] == 'int': self.queries.append(a[1])

# ENTER THE BASE QUERY HERE

base_query = ""  #This is the base query

base_query += "%s"
alphabet = "abcdefghijklmnopqrstuvwxyz"
for letter in alphabet:
   q = base_query % letter;
   query = urllib.urlencode({'q' : q})
   url = "http://google.com/complete/search?output=toolbar&%s" % query

   res = urllib2.urlopen(url)
   parser = PullSuggestions()
   parser.feed(res.read())
   parser.close()

   for i in range(0,len(parser.suggestions)):
      print "%s\t%s" % (parser.suggestions[i], parser.queries[i])

Это, по крайней мере, частично решает проблему, но, к сожалению, по-прежнему трудно надежно получить количество поисков какого-либо конкретного слова или фразы и невозможно получить историю поиска разных фраз.

Ответ 2

Я только начал искать его и нашел хороший способ получить его с помощью python в следующем script. В основном это передача специализированных цитируйте историческую финансовую базу Google.

def get_index(gindex, startdate=20040101):
    """
    API wrapper for Google Domestic Trends data.
        https://www.google.com/finance/domestic_trends

    Available Indices:

       'ADVERT', 'AIRTVL', 'AUTOBY', 'AUTOFI', 'AUTO', 'BIZIND', 'BNKRPT',
       'COMLND', 'COMPUT', 'CONSTR', 'CRCARD', 'DURBLE', 'EDUCAT', 'INVEST',
       'FINPLN', 'FURNTR', 'INSUR', 'JOBS', 'LUXURY', 'MOBILE', 'MTGE',
       'RLEST', 'RENTAL', 'SHOP', 'TRAVEL', 'UNEMPL'

    """
    base_url = 'http://www.google.com/finance/historical?q=GOOGLEINDEX_US:'
    full_url = '%s%s&output=csv&startdate=%s' % (base_url, gindex, startdate)
    dframe = read_csv(urlopen(full_url), index_col=0)
    dframe.index = DatetimeIndex(dframe.index)
    dframe = dframe.sort_index(0)
    for col in dframe.columns:
        if len(dframe[col].unique()) == 1:
            dframe.pop(col)
    if len(dframe.columns) == 1 and dframe.columns[0] == 'Close':
        dframe.columns = [gindex]
    return dframe[gindex] 

Ответ 3

Я не смог найти документацию, предоставленную Google, но Брэд Джаспер, похоже, придумал какой-то метод запроса Insights для информации. Примечание: я не уверен, что он все еще работает... Удачи!

Использовать Python для доступа к API Google Insights