7*24h新闻自动发送至微信(requests+pywinauto)
爬取新闻列表并发微信指定人/群
1. 目标地址:https://kuaixun.eastmoney.com/
2. 获取新闻列表
import time, requests, json, bs4
import pandas as pd
from uiautomation import *
from selenium import webdriver
from selenium.webdriver.common.by import By
from pywinauto import keyboard
session = requests.session()
session.get('https://kuaixun.eastmoney.com/', headers = headers)
res = session.get('https://np-weblist.eastmoney.com/comm/web/getFastNewsList?client=web&biz=web_724&fastColumn=102&sortEnd=&pageSize=20&req_trace=' + '%.0f'%(time.time()*1000) + '&_=' + '%.0f'%(time.time()*1000-2) + '&callback=jQuery18307434406413487331_' + '%.0f'%(time.time()*1000-200), headers = headers)
text = res.content.decode('utf-8')
df = pd.DataFrame(json.loads(text[len(text.split('(')[0]) + 1:-1])['data']['fastNewsList'])
df.sort_values(by='showTime', ascending=True, inplace = True)
list_news = (df['showTime'].str[5:7].astype('int').astype('str') + '.' + df['showTime'].str[8:10].astype('int').astype('str') + ' ' + df['showTime'].str[11:16] + ' ' + df['summary']).tolist()
结果如下:
3. 发送至微信指定联系人
wechat_window = WindowControl(searchDepth=1, Name="微信", ClassName="WeChatMainWndForPC")
wechat_window.SetActive()
time.sleep(1)
keyboard.send_keys('^f')
keyboard.send_keys('7*24h新闻')
time.sleep(1)
keyboard.send_keys('{ENTER}')
time.sleep(1)
i = list_news
wechat_window = WindowControl(searchDepth=1, Name="微信", ClassName="WeChatMainWndForPC")
wechat_window.SetActive()
time.sleep(1)
keyboard.send_keys(a2 + '^~' + article_content + '链接:' + a3)
keyboard.send_keys('{ENTER}')
with open('content.txt', 'w') as file:
file.write(content + i + '\n')
file.close()
time.sleep(1)