seo_gsc_dump.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. #SELECT * FROM hhh.gsc_designer where
  12. # (`page` = 'https://hhh.com.tw/designers/cases/491/1-page/new-sort/') or
  13. # (`page` = 'https://hhh.com.tw/designers/cases/31/1-page/new-sort/') or
  14. # (`page` = 'https://hhh.com.tw/designers/cases/293/1-page/new-sort/') or
  15. # (`page` = 'https://hhh.com.tw/designers/cases/278/1-page/new-sort/') or
  16. # (`page` = 'https://hhh.com.tw/designers/cases/24/1-page/new-sort/') or
  17. # (`page` = 'https://hhh.com.tw/designers/cases/594/1-page/new-sort/') or
  18. # (`page` = 'https://hhh.com.tw/designers/cases/356/1-page/new-sort/') or
  19. # (`page` = 'https://hhh.com.tw/designers/cases/307/1-page/new-sort/') or
  20. # (`page` = 'https://hhh.com.tw/designers/cases/491/1-page/new-sort/') or
  21. # (`page` = 'https://hhh.com.tw/designers/cases/33/1-page/new-sort/') or
  22. # (`page` = 'https://hhh.com.tw/designers/cases/385/1-page/new-sort/')
  23. # order by impressions/position desc;
  24. fname=os.path.abspath(__file__)
  25. elmts=fname.split(os.path.sep)
  26. path2=os.path.sep.join(elmts[0:-1])
  27. keysdir=path2+os.path.sep+'..\\keys'+os.path.sep
  28. account = searchconsole.authenticate(client_config=keysdir+'client_secret.json',credentials=keysdir+'credentials.json')
  29. webproperty = account['https://hhh.com.tw/']
  30. db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/hhh?charset=utf8mb4')
  31. db.begin()
  32. table=db['gsc_designer']
  33. report=webproperty.query.range('2021-06-19', '2020-06-19').dimension('page','query').filter('page', 'https://hhh.com.tw/designers/cases/', 'contains').get()
  34. total_pos=0
  35. total_count=0
  36. total_clicks=0
  37. records=[]
  38. ts = time.time()
  39. sessionid=int(ts)
  40. cnt=0
  41. full_list=[]
  42. for r in report:
  43. # print(r)
  44. page=r[0]
  45. query=r[1]
  46. clicks=r[2]
  47. impressions=r[3]
  48. ctr=r[4]
  49. position=r[5]
  50. data={'sessionid':sessionid,'page':page,'query':query,'clicks':int(clicks),'impressions':int(impressions),'ctr':float(ctr),'position':float(position),'dt':datetime.datetime.now()}
  51. print(data)
  52. cnt+=1
  53. full_list.append(data)
  54. for l in full_list:
  55. table.insert(l)
  56. db.commit()
  57. print(cnt)