2013-01-18 4 views
3

Я начинаю изучать python, чтобы создать программу для обхода веб-данных. Итак, я был googling, и я нашел API трендов google, pyGTrend.py. Но я не могу его использовать. Я могу найти ту же проблему в google, но не решение, которое я могу понять. Пожалуйста, помогите мне.Как использовать неофициальный API Google Trend (pyGTrends.py)

Я просто использовал API, как написано на сайте владельца API в: Programmatic Google Trends Api

from pyGTrends import pyGTrends 

connector = pyGTrends('googleID','passwaord') 
connector.download_report(('banana', 'bread', 'bakery'),date='2008-4',geo='AT',scale=1) 
print connector.csv() 

сообщение об ошибке ниже,

Traceback(most recent call last): 
File ('Stdin') line1, in <Module> 
File "C:\Pyhon27\Lib\site-pacakage\pyGTrends.py" line 115, in csv 
KeyError: 'main' 
+1

Номер строки для ошибки за пределами числа строк в файле [pyGtrends.py] (https://github.com/suryasev/unofficial- Google-тренды-апи/BLOB/Master/pyGTrends.py). Вы изменили его? –

+0

№ Это был оригинальный код в github. –

+1

Возможно, вам понадобится копия вашего pyGTrends.py. Кроме того, вы можете скопировать и вставить реальный исходный код и трассировку? Я заметил, что в тексте есть опечатки (например, «password» и «pacakage»), которые предполагают, что вы, вероятно, набрали их вручную. –

ответ

2

вам нужно вызвать его, как это

from pytrends.pyGTrends import pyGTrends 
0

Вот пример того, как его использовать. Дайте мне знать, если вам потребуется дополнительная помощь:

from pytrends.pyGTrends import pyGTrends 
import time 
from random import randint 
from IPython.display import display 
from pprint import pprint 
import urllib 
import sys 

google_username = "GMAIL_USERNAME" 
google_password = "PASSWORD" 
path = "." 

terms = [ 
    "Image Processing", 
    "Signal Processing", 
    "Computer Vision", 
    "Machine Learning", 
    "Information Retrieval", 
    "Data Mining" 
] 
# connect to Google Trends API 
connector = pyGTrends(google_username, google_password) 


for label in terms: 
    print(label) 
    sys.stdout.flush() 
    #kw_string = '"{0}"'.format(keyword, base_keyword) 
    connector.request_report(label, geo="US", date="01/2014 96m") 
    # wait a random amount of time between requests to avoid bot detection 
    time.sleep(randint(5, 10)) 
    # download file 
    connector.save_csv(path, label) 

for term in terms: 
    data = connector.get_suggestions(term) 
    pprint(data) 
+0

Hi Mona, Я использую Python3.x, я использовал тот же самый код, который вы написали, но получая ошибку. urllib.error.HTTPError: Ошибка HTTP 400: Bad Request Файл "C: \ Users \ shivamkotwalia \ Desktop \ TestApp-Шивы \ Data Зачистка \ GoogleTrends.py", строка 23, в разъеме = pyGTrends (google_username, google_password) Файл «C: \ Anaconda3 \ lib \ site-packages \ pytrends \ pyGTrends.py», строка 51, в __init__ self._connect() –