| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | #!/usr/bin/python3import sysimport codecsimport tracebackimport requestsimport reimport pandas as pdimport randomimport urllibimport datasetimport jsonimport gspreadimport datetimefrom gspread_pandas import Spread, Clientfrom oauth2client.service_account import ServiceAccountCredentialsimport osimport threadingdef save_sheet(df,filename,tabname,startpos='A1'):    scope = ['https://spreadsheets.google.com/feeds',            'https://www.googleapis.com/auth/drive']    credentials = ServiceAccountCredentials.from_json_keyfile_name('c:\\keys\\spread2.json', scope)#    credentials = ServiceAccountCredentials.from_json_keyfile_name('/var/keys/spread2.json', scope)    gc = gspread.authorize(credentials)    spread = Spread(filename,creds=credentials)    spread.df_to_sheet(df, index=False, sheet=tabname, start=startpos, replace=False)def do_jobs():    db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/hhh?charset=utf8mb4')    cursor=db.query("SELECT gsc.query,ga.`ga:users` as users,ga.`ga:newusers` as newusers,ga.`ga:pageviews` as pageviews,ga.`ga:bounceRate` as bouncerate,ga.`ga:pageviewsPerSession` as pvpersession,gsc.`page` as url FROM hhh.ga_pagepath ga, hhh.gsc_page_query gsc where ga.`ga:pagePath`=gsc.`page` order by `ga:users` desc")    df = pd.DataFrame(columns=('query','users','newusers','pageviews','bouncerate','pvpersession','url'))    idx=0    for c in cursor:        df.loc[idx]=[c['query'],c['users'],c['newusers'],c['pageviews'],c['bouncerate'],c['pvpersession'],c['url']]    #    df.loc[idx]=['okok',333]        idx+=1#    save_sheet(df,'ga_x_gsc','results')    save_sheet(df,'ga_x_gsc','with_url')t = threading.Thread(target = do_jobs)t.start()t.join()
 |