人生最痛苦的事莫过于小说断更!这篇文章将对这一问题给出一种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
|
import time,itchat def vxLogin(rename): 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> (.*?)<script',text,re.S)[0] re_text = re_text.replace(' ','') 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 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('[*]更新完成!暂无最新章节') global startNum startNum = end time.sleep(3600)
if __name__ == '__main__': print('[*]Starting...') startNum = 410 while True: update(url='http://www.quanshuwang.cn/book/137/137120',start=startNum,toName='杰帅') itchat.run()
|
这里的urlhttp://www.quanshuwang.cn/book/137/137120
是我看的《一步偷天》
在全书网的网址
运行结果
服务器端:
微信端:
小说也看完了,终于又可以开始写bug了!!
另外,这个博客只作分享交流技术用,大爷们不用打赏,真的不用,真的不用,(疯狂暗示中…)