青龙推送百度热搜到微信

基于Python,百度抄了一部分,自己写了一部分,拼凑而成,自用。

用的是pushplus推送,在青龙面板添加定时任务即可。

任务详情

我的青龙面板是在三丰云的免费云服务器上搭建的,最近用了半个多月了,还算比较稳定,没啥问题,免费的东西稳定即可,消息推送没有遗漏。超链接还不知道如何添加,有时间了再研究。

代码如下:

  1. import requests
  2. import json
  3. my_uid = ["UID_R0LZfyT3PGOi55g8fBtRkZ3s8rdo","UID_Z4imbqkgr89kielszmM4","UID_MH2u4vcUlmnb53eNa07lwiaq2rka"]
  4. def sendmsg(msg):
  5. url = "http://wxpusher.zjiecode.com/api/send/message"
  6. body = {
  7. "appToken":"AT_hIX6d8e9x1elpX4T7Vjagey1TBV7GMoB",
  8. "content":msg,
  9. "summary":"***的热点",#消息摘要,显示在微信聊天页面或者模版消息卡片上,限制长度100,可以不传,不传默认截取content前面的内容。
  10. "contentType":1,#内容类型 1表示文字 2表示html(只发送body标签内部的数据即可,不包括body标签) 3表示markdown
  11. #"topicIds":[123],#发送目标的topicId,是一个数组!!!,也就是群发,使用uids单发的时候, 可以不传。
  12. "uids":my_uid,
  13. "url":"http://wxpusher.zjiecode.com"
  14. #原文链接,可选参数
  15. }
  16. fails = 0
  17. while True:
  18. try:
  19. if fails >= 3 :
  20. break
  21. headers = {'content-type': 'application/json'}
  22. ret = requests.post(url, json=body, headers=headers, timeout=10)
  23. if ret.status_code == 200:
  24. text = json.loads(ret.text)
  25. else:
  26. continue
  27. except:
  28. fails += 1
  29. print('网络连接出现问题, 正在尝试再次请求: ', fails)
  30. else:
  31. break
  32. return text
  33. # 百度热搜榜地址
  34. url = 'https://top.baidu.com/api/board?platform=wise&tab=realtime'
  35. # 构造请求头
  36. header = {
  37. 'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Mobile Safari/537.36',
  38. 'Host': 'top.baidu.com',
  39. 'Accept': 'application/json, text/plain, */*',
  40. 'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
  41. 'Accept-Encoding': 'gzip, deflate, br',
  42. 'Referer': 'https://top.baidu.com/board?tab=novel',
  43. }
  44. top_content = []
  45. # 发送请求
  46. r = requests.get(url, header)
  47. # 用json格式接收请求数据
  48. json_data = r.json()
  49. n =len(json_data['data']['cards'][0]['content'])
  50. # 爬取置顶热搜
  51. for i in range(0,n,1):
  52. top_content_list = json_data['data']['cards'][0]['content'][i]['word']
  53. top_content.append(str(i+1)+'、'+top_content_list)
  54. if __name__ == "__main__":
  55. MSGS = top_content
  56. msg = "HotNews: "+'\n'
  57. m = len(MSGS)
  58. for k in range(0,m):
  59. msg=msg+MSGS[k]+'\n'
  60. a = sendmsg(msg)
  61. print(a)

发布于 2022-08-02 17:51