gsc_dump.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import traceback
  2. import copy
  3. import operator
  4. import codecs
  5. import sys
  6. import os
  7. import searchconsole
  8. import dataset
  9. import datetime
  10. import time
  11. account = searchconsole.authenticate(client_config='c:/keys/service/client_secret.json',credentials='c:/keys/service/credentials.json')
  12. webproperty = account['https://hhh.com.tw/']
  13. #db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/hhh?charset=utf8mb4')
  14. db = dataset.connect('mysql://choozmo:pAssw0rd@127.0.0.1:3306/hhh?charset=utf8mb4')
  15. table=db['gsc_weekly']
  16. #report=webproperty.query.range('2021-01-01', '2020-01-02').dimension('page','query').get()
  17. report=webproperty.query.range('2021-05-30', '2020-06-05').dimension('query').get()
  18. total_pos=0
  19. total_count=0
  20. total_clicks=0
  21. records=[]
  22. ts = time.time()
  23. sessionid=int(ts)
  24. for r in report:
  25. # print(r)
  26. query=r[0]
  27. clicks=r[1]
  28. impressions=r[2]
  29. ctr=r[3]
  30. position=r[4]
  31. records.append({'sessionid':sessionid,'query':query,'clicks':int(clicks),'impressions':int(impressions),'ctr':float(ctr),'position':float(position),'dt':datetime.datetime.now()})
  32. print('complete')
  33. db.begin()
  34. for r in records:
  35. try:
  36. table.insert(r)
  37. db.commit()
  38. except:
  39. db.rollback()
  40. print('done')