直接上成品代码吧 简单易懂
import requests
from bs4 import BeautifulSoup
import re
import datetime
import time
import pyautogui as pag
import pyperclip
def check_recent():
headers = {
# 假装自己是浏览器,
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36',
# 把你刚刚拿到的Cookie塞进来
'Cookie':'你的cookie',
}
session = requests.Session()
#这里填写你自己文章的地址
response = session.get('https://my.jjwxc.net/backend/managenovel.php?novelid=00000000&jsid=3000000_4000000', headers=headers)
response.encoding = response.apparent_encoding # 自动转码
html = response.text
soup = BeautifulSoup(html, features="html.parser") # 创建一个BeautifulSoup对象
table_node = soup.find_all('table')
res = ''
for table in table_node:
res = res + table.get_text()
#把空格去一去
res = res.replace(' ', '')
res = res.replace('\n', '')
res = res.replace('\r', '')
res = res.replace('\t', '')
#用正则匹配一下
match1 = re.findall("总点击:\d+\xa0总书评:\d+\xa0精华评:\d+\xa0收藏数:\d+", res)
message = match1[0].split('\xa0')
# print(message)
new_info = []
for i in [0,1,3]:
new_info.append(int(message[i].split(':')[1]))
return new_info
def compare_with_before(recent_info, new_info) :
difference = [new_info[i] - recent_info[i] for i in range(3)]
if difference[0] > 0:
text = "总点击增加了" + str(difference[0])
print(text)
send_message(text)
if difference[1] > 0:
text = "总书评增加了" + str(difference[1])
print(text)
send_message(text)
if difference[2] > 0:
text = "收藏数增加了" + str(difference[2])
print(text)
send_message(text)
def send_message(text):
#填入你自己的微信输入框坐标
pag.click(-937, 95) # 鼠标点击并定位到聊天窗口
pyperclip.copy(text) # 复制该行
pag.hotkey("ctrl", "v") # 粘贴,mac电脑则把ctrl换成command
pag.typewrite("\n") # 发送
time.sleep(5) # 每次发完间隔5s
def time_printer():
now = datetime.datetime.now()
ts = now.strftime('%Y-%m-%d %H:%M:%S')
print('do func time :', ts)
if __name__ == '__main__':
#初始化默认为0,也可以改成你的数据
recent_info = [0,0,0]
while True:
time_printer()
new_info = check_recent()
compare_with_before(recent_info,new_info)
recent_info = new_info
time.sleep(1200)