I've referred to the pytrends, but I still can't understand that the system always shows invalid syntax in the 44th line. Can anyone help me? Thanks a million.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# -*- coding: utf-8 -*- import time import codecs import random import glob from pytrends.request import TrendReq google_username = "XXXXXXXX@gmail.com" google_password = "XXXXXXX" f = open ( 'stocks_tw.txt' , '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 pytrends = 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 |
Moderator zivoni: removed login informations