weixinzhishu.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. # -*- coding: utf-8 -*-
  2. # @Author: wangkun
  3. # @Time: 2023/2/10
  4. from datetime import date, timedelta
  5. import requests
  6. import json
  7. from common.feishu import Feishu
  8. class Weixinzhishu:
  9. @classmethod
  10. def search_word(cls):
  11. return ["消息", "彻底", "现在", "真是", "突然", "消失", "太好了", "心声"]
  12. @classmethod
  13. def wechat_key(cls, log_type, crawler):
  14. sheet = Feishu.get_values_batch(log_type, crawler, 'sVL74k')
  15. for i in range(len(sheet)):
  16. search_key = sheet[1][1]
  17. openid = sheet[1][2]
  18. return search_key, openid
  19. @classmethod
  20. def weixinzhishu(cls, log_type, crawler, query):
  21. wechat_key = cls.wechat_key(log_type, crawler)
  22. search_key = wechat_key[0]
  23. openid = wechat_key[-1]
  24. start_ymd = (date.today() + timedelta(days=-1)).strftime("%Y-%m-%d").replace("-", "")
  25. end_ymd = (date.today() + timedelta(days=-8)).strftime("%Y-%m-%d").replace("-", "")
  26. print(f"search_key:{search_key}")
  27. print(f"openid:{openid}")
  28. print(f"start_ymd:{start_ymd}")
  29. print(f"start_ymd:{end_ymd}")
  30. url = "https://search.weixin.qq.com/cgi-bin/wxaweb/wxindex"
  31. payload = json.dumps({
  32. "openid": openid,
  33. "search_key": search_key,
  34. "cgi_name": "GetDefaultIndex",
  35. "start_ymd": "20230206",
  36. "end_ymd": "20230210",
  37. "query": query
  38. })
  39. headers = {
  40. 'Host': 'search.weixin.qq.com',
  41. 'content-type': 'application/json',
  42. 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.32(0x1800202a) NetType/WIFI Language/zh_CN',
  43. 'Referer': 'https://servicewechat.com/wxc026e7662ec26a3a/42/page-frame.html'
  44. }
  45. response = requests.request("POST", url, headers=headers, data=payload)
  46. print(response.text)
  47. time_index = response.json()['content']['resp_list'][0]['indexes'][0]['time_indexes']
  48. print(time_index)
  49. if __name__ == "__main__":
  50. Weixinzhishu.weixinzhishu('weixin', 'weixinzhishu', '狂飙')