0%

利用微信实现小说更新提醒

人生最痛苦的事莫过于小说断更!这篇文章将对这一问题给出一种Python+阿里云+微信的解决方法

不过世界总是需要懒人的,因为有了懒人创造世界。这话不是我说的,是马爸爸说的:

懒不是傻懒,如果你想少干,就要想出懒的方法。要懒出风格,懒出境界。——马云

为此我专门买了一台服务器(9.9还包邮哦),反正以后还有很多地方用到服务器。

扯远了。。。利用服务器可以干很多事,比如接下来的利用微信第三方python库实现小说更新时通过微信将更新内容发给指定朋友。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/python
#coding:utf-8
import time,itchat
# 微信登录
def vxLogin(rename):
# enableCmdQR:在命令行中显示登录二维码,参数2是Linux系统下的字符宽度
itchat.auto_login(hotReload=True,enableCmdQR=2)
friends = itchat.get_friends(update=True)
for friend in reversed(friends):
if friend['RemarkName'] == rename:
toName = friend['UserName']
return toName

# 检查更新
def update(url,start,toName):
import requests,re
res = requests.get(url).content.decode('gb18030')
lis = re.findall(r'<li><a href="(.*?)" title="(.*?),.*?">',res)
toName = vxLogin(rename=toName)
for li in lis[start:]:
end_str = li[1]
try:
end = int(re.findall(r'第[ ]?(.*?)[ ]?章',end_str)[0])
except ValueError:
print('[*]小说更新了,但是章节序号为中文,我暂时不想处理。。。') #碰到这种情况再更新,懒
exit()
if end >= start+1:
text = requests.get(li[0]).content.decode('gbk')
re_text = re.findall(r'</script>&nbsp;&nbsp;&nbsp;&nbsp;(.*?)<script',text,re.S)[0]
re_text = re_text.replace('&nbsp;&nbsp;&nbsp;&nbsp;','')
re_text = re_text.replace('<br />','')
re_text = re_text.replace('\r\n\r\n','\r\n')
re_text = '%s\n%s\n\n' %(li[1],re_text)
print('更新:%s' % li[1])
text = '最近更新了第%s章\n%s' % (end,re_text)
length = len(text)//3
# 分3段发送
itchat.send(msg=text[:length], toUserName=toName)
itchat.send(msg=text[length:(length*2)], toUserName=toName)
itchat.send(msg=text[(length*2):], toUserName=toName)
time.sleep(5)
print('[*]更新完成!暂无最新章节')
# 声明startNum为全局变量,这样就不会在这个函数内部新建变量
global startNum
startNum = end
time.sleep(3600)# 1小时更新检查一次

if __name__ == '__main__':
print('[*]Starting...')
# 当前最新章节
startNum = 410
while True:
update(url='http://www.quanshuwang.cn/book/137/137120',start=startNum,toName='杰帅')# toName为None时发给自己
# 持续运行
itchat.run()

这里的urlhttp://www.quanshuwang.cn/book/137/137120是我看的《一步偷天》在全书网的网址

运行结果

服务器端:

服务器

微信端:

微信

小说也看完了,终于又可以开始写bug了!!


另外,这个博客只作分享交流技术用,大爷们不用打赏,真的不用,真的不用,(疯狂暗示中…)

您的支持将鼓励我的创作!

欢迎关注我的其它发布渠道