ranking_report.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. import pandas as pd
  2. import dataset
  3. import pymysql
  4. pymysql.install_as_MySQLdb()
  5. name='寵星'
  6. date = '0502'
  7. def day():
  8. db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/seo?charset=utf8mb4')
  9. cursor = db.query(f"select term,domain from seo.selected_kw where client ='{name}'")
  10. # cursor = db.query("SELECT value,query FROM gtrend2.topics where sessionid='20240614-HHH' order by value desc")
  11. kw_lst = []
  12. for c in cursor:
  13. kw_lst.append(c['term'])
  14. print(kw_lst)
  15. df = pd.DataFrame(kw_lst,columns=['kw'])
  16. rank_lst = []
  17. for i in kw_lst:
  18. cursor_general = db.query(f'select kw,ranking,url from seo.google_bank where kw = "{i}" order by dt desc limit 1')
  19. for c in cursor_general:
  20. rank_lst.append([c['kw'],c['ranking'],c['url']])
  21. db.close()
  22. df1 = pd.DataFrame(rank_lst,columns=['kw','ranking','url'])
  23. df_result = pd.merge(df, df1, on='kw', how='outer').fillna(101)
  24. df_result.to_csv(f"C:\/Users\/s1301\/OneDrive\/Documents\/{date}{name}關鍵字排名.csv", index=False)
  25. print('完成')
  26. day()