Ich habe ein Problem mit pytrends.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Karen8169
User
Beiträge: 6
Registriert: Freitag 14. April 2017, 09:59

Code: Alles auswählen

# -*- coding: utf-8 -*-
import time
import codecs
import random
import glob  
from pytrends.request import TrendReq

google_username = "@gmail.com"
google_password = ""

f = open('', 'r')
stocks_no_name = []
for line in f.readlines():
    data = line.split('\t')
    stock_no = data[0].strip()
    stock_name = data[1].strip()
    stocks_no_name.append([stock_no, stock_name])
f.close()


files=glob.glob('*.csv')  
downloaded_files = [fd.title().lower()[0:4] for fd in files]

stocks_no_name_new = [] 
for stock_no_name in stocks_no_name:
    if not stock_no_name[0] in downloaded_files:
        stocks_no_name_new.append(stock_no_name)
stocks_no_name = stocks_no_name_new       
    
print len(stocks_no_name)

# connect to Google
pytrend = TrendReq(google_username, google_password, custom_useragent='My Pytrends Script')

while stocks_no_name:
    stock_index = random.randint(0,len(stocks_no_name)-1)
    stock_no_name = stocks_no_name[stock_index]
    stock_no = stock_no_name[0]
    stock_name = stock_no_name[1]
    print stock_no, stock_name

    try:
        one_stock_data = []    
        trend_payload = {'q': stock_name, 'date': ''2013-12-29 2016-12-31', 'geo': 'TW','tz': 'Etc/GMT+8'}
        # trend
        trend = pytrend.trend(trend_payload)
        time.sleep(random.randint(120, 360))
    
        table = trend['table']
        rows = table['rows']
        for i in range(len(rows)):
            row_data = []
            for j in range(len(rows[0]['c'])):
                row_data.append(rows[i]['c'][j]['v'])
            one_stock_data.append(row_data) 
                
        # output one_stock_data to a file
        filename = unicode(stock_no, errors='ignore') + '.csv'
        outfile = codecs.open(filename, "wb", "utf-8")
        for i in range(len(one_stock_data)):
            one_stock_data_str =  str(one_stock_data[i][0]) + ", " + str(one_stock_data[i][1])
            if i != len(one_stock_data) - 1:
                one_stock_data_str =  one_stock_data_str + "\r\n"
            outfile.write(one_stock_data_str)
        outfile.close()
        
        stocks_no_name.pop(stock_index)
    
    except:
        time.sleep(random.randint(120, 360))
        continue

Code: Alles auswählen

from pytrends.request import TrendReq
import time 
from random import randint

google_username = ""
google_password = ""

 #Connect to google
pytrends = TrendReq(google_username, google_password, custom_useragent='My Pytrends Script')

# trend
trend_payload = {kw_list=['pizza'],timeframe='2013-12-29 2016-12-31', geo='TW'}
trend = pytrends.build_payload(trend_payload)

#Request a report based on keyword
print(pizza)

#Save a csv
path = 'c:\Users\user\Desktop'
connector.save_csv(path, pizza)
time.sleep(randint(5,10))
Es gibt zwei Codes zum Herunterladen von Daten aus Google Trends. Aber keiner von ihnen funktioniert. Es scheint, dass die "pytrends.build_payload" und "pytrend.trend" nicht funktionieren können. Aber ich habe auf die Einführung von pytrends hingewiesen und kann nicht finden wo die Fehler sind.
Zuletzt geändert von Anonymous am Freitag 14. April 2017, 12:32, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Karen8169 hat geschrieben:Aber keiner von ihnen funktioniert.
Was erwartest du was passieren müsste und was passiert stattdessen?
Karen8169
User
Beiträge: 6
Registriert: Freitag 14. April 2017, 09:59

Ich habe Probleme mit pytrends Paket.
Ich möchte die Daten kontinuierlich von Google-Trend herunterladen.
Keywords = ['pizza', 'hamburger', 'cola']
Ich möchte die Daten der Schlüsselwörter in der Liste mit dem angegebenen Datum und dem Bereich herunterladen.
BlackJack

@Karen8169: Die beiden gezeigten Quelltexte deuten eher darauf hin, dass Du (noch) ein Problem mit Python hast, denn das erste ist syntaktisch falsch, das läuft nicht einmal, und beim zweiten wird versucht einen nicht definierten Namen (`pizza`) zu verwenden.

Wie sind denn diese Quelltexte zustande gekommen?
Karen8169
User
Beiträge: 6
Registriert: Freitag 14. April 2017, 09:59

Ich habe noch ein Problem mit pytrends.
Kann mir jemand sagen, wo das syntaktische Unrecht in der ersten ist und wie man es korrigiert? Ich habe eine Menge von Websites, aber ich kann nicht herausfinden, die falschen. Ich weiß nur, dass das Unrecht versteckt ist

Code: Alles auswählen

    
    try:
        one_stock_data = []    
        trend_payload = {'q': stock_name, 'date': '2013-12-29 2016-12-31', 'geo': 'TW','tz': 'Etc/GMT+8'}
        # trend
        trend = pytrend.trend(trend_payload)
        time.sleep(random.randint(120, 360))
    
        table = trend['table']
        rows = table['rows']
        for i in range(len(rows)):
            row_data = []
            for j in range(len(rows[0]['c'])):
                row_data.append(rows[i]['c'][j]['v'])
            one_stock_data.append(row_data) 
                
        # output one_stock_data to a file
        filename = unicode(stock_no, errors='ignore') + '.csv'
        outfile = codecs.open(filename, "wb", "utf-8")
        for i in range(len(one_stock_data)):
            one_stock_data_str =  str(one_stock_data[i][0]) + ", " + str(one_stock_data[i][1])
            if i != len(one_stock_data) - 1:
                one_stock_data_str =  one_stock_data_str + "\r\n"
            outfile.write(one_stock_data_str)
        outfile.close()
        
        stocks_no_name.pop(stock_index)
Zuletzt geändert von Anonymous am Freitag 14. April 2017, 18:05, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

@Karen8169: Der Syntaxfehler aus dem ersten Beitrag ist ja nun nicht mehr da wie man am Syntax-Highlighting sehen kann. Ob in dem zuletzt gezeigten Fragment ein Syntaxfehler ist kann man ja nur heraus finden wenn man den offensichtlichen behebt, der hoffentlich dadurch entstanden ist, dass es sich nur um einen Ausschnitt aus dem tatsächlichen Quelltext handelt. Falls nicht, wiederhole ich mal die Frage wie diese Quelltexte zustande kommen‽
Karen8169
User
Beiträge: 6
Registriert: Freitag 14. April 2017, 09:59

Ich habe noch ein problem
Dies sind zwei Dateien. Die erste ist die Textdatei, die der Code benötigt. Die zweite ist die Website, auf die ich mich für "pytrends" verwies. Die dritte ist das Phänomen, wenn ich den Code, keine cvs. laufen. Wird gespeichert.Der erste Code ist der Code, den ich benutzt habe. Es tut mir leid, dass ich die Bedeutung des Quellcodes nicht wirklich kennen kann.
https://github.com/GeneralMills/pytrends
https://drive.google.com/file/d/0B4uuwt ... sp=sharing
https://drive.google.com/file/d/0B4uuwt ... sp=sharing

Und das sind die "IPython console", wenn ich den Code im Spyder laufe.
Traceback (most recent call last):

File "<ipython-input-8-b1f02974874b>", line 1, in <module>
runfile('E:/python/google trend tw stock/download_trend_past3years.py', wdir='E:/python/google trend tw stock')

File "C:\Users\user\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile
execfile(filename, namespace)

File "C:\Users\user\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 87, in execfile
exec(compile(scripttext, filename, 'exec'), glob, loc)

File "E:/python/google trend tw stock/download_trend_past3years.py", line 70, in <module>
time.sleep(random.randint(120, 360))

KeyboardInterrupt


debugfile('E:/python/google trend tw stock/download_trend_past3years.py', wdir='E:/python/google trend tw stock')ERROR: execution aborted

ERROR: execution aborted
Karen8169
User
Beiträge: 6
Registriert: Freitag 14. April 2017, 09:59

Der erste Code ist alles, wenn ich die Daten von Google Trends herunterladen. Und die https://drive.google.com/file/d/0B4uuwt ... sp=sharing ist der Text, den ich verwende, um zu lesen. Ich habe pytrend Paket verbraucht Viele webseiten, aber ich fand niemanden machbar Kann mir jemand helfen, das Paket zu lösen? Ich glaube, der Code kann arbeiten, wenn ich den Gebrauch kannte.
Karen8169
User
Beiträge: 6
Registriert: Freitag 14. April 2017, 09:59

Ich habe noch ein problem Ich habe auch eine einfachere Art des Herunterladens von Daten aus Google Trends gefunden, aber sein Beispiel kann immer noch nicht funktionieren.https://github.com/pedrofaustino/google ... downloaderIch möchte es korrigieren, um das Original zu bauen, also wo ich das korrigieren kann?
Antworten