利用爬虫和微信机器人自动刷甘肃教师学苑学分

来源:互联网 发布:手机淘宝店铺咋管理 编辑:程序博客网 时间:2024/04/28 08:49

我之前在python爬虫帮妈妈刷学分这篇博文记录过刷学分的历程,只不过当时没有用微信机器人自动刷学分,还是需要给公众号手动输入代码。
这里我引进了“可能是最优雅的微信个人号 API”-wxpy来实现了自动化。
具体代码如下:

#url2txt #把url批量存入url.txtimport urllib.request as requestimport urllib.parse as parseimport stringimport reimport osimport urllib.error as errorimport urllibdef fetch(baseUrl):    # 第1步:模拟浏览器发送请求    response = urllib.request.urlopen(baseUrl)    data = response.read()    data=data.decode('utf-8')    # 第2步:页面返回后,利用正则表达式提取想要的内容    nameList=[]    nameList = re.compile(r'<a href="(.*?)" >',re.DOTALL).findall(data)    # 第3步:返回在页面上析取的“标题名”    return nameList#######     执行    ########if __name__ =="__main__":    #要抓取的网页地址    url = "http://jsxy.gsedu.cn/wx/course/courseSelect.xhtm?FromUserName=obK7fskWFpwRPTYswm7NipdP6sJM&unread=1"    #存放到名字列表中    NameList = fetch(url)    # 输出 NameList    Length = len(NameList)    for i in range(0, Length):        print ('%d ref is:%s' %(i+1, NameList[i]))with open(os.path.join('url.txt'), 'w') as f:    for i in range(0,Length):        f.write("\n")        f.write(NameList[i])

上面代码会把所有的未读文章url写入url.txt。
这里写图片描述

然后需要把这里面的全部url批量解析,把文章代码批量存入code.txt,代码如下:

import urllib.request as requestimport urllib.parse as parseimport stringimport reimport osimport urllib.error as errorimport urllibdef fetch(baseUrl):    # 第1步:模拟浏览器发送请求    response = urllib.request.urlopen(baseUrl)    data = response.read()    data=data.decode('utf-8')    # 第2步:页面返回后,利用正则表达式提取想要的内容    nameList=[]    nameList = re.compile(r'请直接回复“(.*?)</strong>',re.DOTALL).findall(data)    # 第3步:返回在页面上析取的“标题名”    return nameList#######     执行    ########if __name__ =="__main__":    with open(os.path.join('url.txt'), 'r') as f:        for line in f.readlines():            NameList = fetch(line)            with open(os.path.join('code.txt'), 'a') as f:                f.write("\n")                f.write(NameList[0])

这里写图片描述

这里会出现极少的错误和无用数据,自己手工删除下即可。
然后利用wxpy机器人给甘肃教师学苑公众号定时发送消息即可:

# 导入模块from wxpy import *# 初始化机器人,扫码登陆bot = Bot()gansu = bot.mps().search(u"甘肃教师学苑")[0]gansu.send('5207')

然后就能看到:
这里写图片描述

如果你觉得本文有用,可以给作者打赏一下。

这里写图片描述

阅读全文
0 0
原创粉丝点击