使用selenium实现自动签到确实是一个方便快捷的方式,但不可否认的是这种方式确实有一个硬伤,就是太慢了,模拟浏览器进行加载、点击操作,即使用上显性等待这种高端操作也最多只能把整个运行过程优化到5秒以内。

作为一个有性能洁癖的程序猿,5秒显然是我不能接受的。那还有什么方式比它更快呢,很简单,直接发post请求啊,直接对网站发起post或get请求永远是最快的方式,网上流传的各种秒杀脚本用的也是这种方式。

requests库的使用

本来之前用scrapy做了一个版本,结果发现为了实现这么个小功能用scrapy太过笨重,代码量还多,干脆换成requests。

requests库的使用方法非常简单,网上有对应的中文文档可以参考requests文档。

直接上代码response = requests.get("http://www.baidu.com")

print(response.text)

post请求则是要先实例化一个session对象,用session对象进行后续的post请求和其他操作,session对象会为你保存你的登录状态,包括cookie等内容。form_data1 = {"mobile": "xxxx",

"mobileErr": "",

"password": "xxxx",

"passwordErr": "",

"uuid": "0",

"mid": "0"}

s = requests.Session()

response = s.post(login_url, data=form_data)

# print(response.text)

当session携带了登录信息之后就可以进行后续的签到操作,而签到操作也很简单,直接用gei请求访问一下签到按钮对应的链接即可。

当然无论是获取签到按钮的链接还是获取登录所需要的的form表单数据都离不开抓包。

我用的抓包软件是Fiddler,抓包这里我就不详细讲了,网上可以搜到很多教程。

最后把完整代码放一下。import requests

import sys

import traceback

login_url = "https://gf2.wmbuluo.com/addons/yun_shop/api.php?i=2&uuid=0&mid=0&type=5&shop_id=null&route=member.login.index"

target_url = 'https://gf2.wmbuluo.com/addons/yun_shop/api.php?i=2&uuid=0&mid=0&type=5&shop_id=null&route=plugin.sign.Frontend.Modules.Sign.Controllers.sign.sign'

form_data1 = {"mobile": "xxxx",

"mobileErr": "",

"password": "xxxx",

"passwordErr": "",

"uuid": "0",

"mid": "0"}

def run(form_data):

s = requests.Session()

response = s.post(login_url, data=form_data)

# print(response.text)

# print(response.status_code)

if response.status_code == 200:

resp = s.get(target_url)

print(resp.status_code)

def main():

run(form_data1)

print("run1")

if __name__ == '__main__':

try:

sys.exit(main())

except Exception as e:

traceback.print_exc()

更多Python知识,请关注Python视频教程!!

python爬虫微信e校园签到,用Python爬虫的request方式实现自动签到!相关推荐

  1. 用Python爬虫的request方式实现自动签到

    人生苦短,快学Python! 大家好,我是朱小五.之前我曾经写过一个Python改变生活系列的文章,介绍自己如何使用Python解决了各种各样的日常需求.在这其中有一篇文章<Python改变生活 ...

  2. python发微信提醒天气_基于Python实现定时自动给微信好友发送天气预报

    效果图 from wxpyimport * import requests from datetimeimport datetime import time from apscheduler.sche ...

  3. python hook微信_基于hook的python机器人,彻底取代itchat

    本文档部分由itchat与wxpy的开发文档修改得出 禁止不规范转载 WechatBot WechatBot是一个半开源的微信个人号接口,使用python调用微信从未如此简单. 使用不到20行的代码, ...

  4. python提取微信聊天语音_利用Python进行微信,QQ的语音识别!内部技术的延伸版!...

    现在的最火两款聊天工具,QQ和微信,但是很多的时候不方便听别人发的语音,这时候这个功能就能派上用场了,当然了,不止能识别QQ语音还有一些没有字幕的电影也能识别出来,好了废话不多说,马上切入咱们的主题! ...

  5. python自动发送微信公众号_使用python一步一步搭建微信公众平台(四)----将小黄鸡引入微信自动回复...

    通过前三篇的教程,相信大家基本上了解了微信开发的基本流程,先判断用户传入数据的类型MsgType,然后再获取用户输入的内容content,再对content进行处理,再返回给用户 现在我们来加点料,在 ...

  6. 用python画微信捂脸_用 Python 画一个捂脸表情

    微信中的捂脸表情相信大家都不陌生,我见过以及自己使用这个表情的频率都是比较高的,可以说这个表情算是大部分人的主打表情之一了,本文我使用 Python 来画一下这个表情,我们使用到的库还是 turtle ...

  7. python玩微信跳一跳_用python玩微信跳一跳

    前言:有個學弟之前問我有沒有玩微信跳一跳,我說沒有啊,他說可以用python刷分,然后后來她推薦給了我,一起玩了起來挺好玩的,然后想起我在學python,然后就看看怎么 make it happen, ...

  8. python浪漫微信_教你用python做一个哄女友的微信自动回复机器人

    虽然题目是这样的,但是为了两人的幸福,还是尽量不要这么敷衍你的女朋友,毕竟这个世上还是有很多单身狗存在的 . 这是一个github最近刚刚上传的一个开源项目,短短几天就已经有了3000+star,原本 ...

  9. python利用微信的方法_用Python玩转微信

    Python玩转微信 大家每天都在用微信,有没有想过用python来控制我们的微信,不多说,直接上干货!  这个是在 itchat上做的封装  http://itchat.readthedocs.io ...

最新文章

  1. Kendo Web UI Grid数据绑定,删除,编辑,并把默认英文改成中文
  2. Python自动化开发学习的第十一周----WEB基础(jquery)
  3. Jmeter教程索引贴
  4. 【Git】Git 版本管理 ( 补充提交版本 git commit --amend | 版本库提取文件 git checkout -- filename | 删除文件 git rm )
  5. Qt 原理-MOC(3) 对象模型
  6. 【Java深入研究】9、HashMap源码解析(jdk 1.8)
  7. android studio点击图片,如何在Android Studio中的模拟器图库中添加图像?
  8. ibatis3获得总记录数,同时计算数据分页?
  9. NLP基础|中英文词向量评测理论与实践
  10. mysql CMD命令
  11. SQL如何本地数据库连接服务器的数据库
  12. TensorFlow实现中文字体分类
  13. 关于运行Unity(一些游戏)出现0xc000007b的问题
  14. 变形金刚2 昨日上映 汽车人提前降临地球
  15. 用keras采用DCGAN网络生成三国群英传7的人物头像
  16. SDN 教程[2]: SDN基础操作
  17. filesystem判断文件或文件夹是否存在
  18. java虚拟机32位_jre1.6java虚拟机运行环境下载|jre1.6官方版32位/64位下载_v1.6.0_9号软件下载...
  19. 2.02-外设篇-GPIO输出高低电平
  20. 21天Python学习——lxml库与Xpath提取网页数据

热门文章

  1. Python脚本——信手拈来的自动化测试工具
  2. Deepin + Veket 双Linux U盘随身系统
  3. Oracle踩坑之路--ORA-01861:文字与格式字符串不符
  4. MSP430 5xx/6xx 定时器A增计数模式编程实例
  5. HEVC中变换(Transform)过程中的scaling操作的理解
  6. YYKit - YYModel 使用方法
  7. Python开发-flask框架学习
  8. 专题论坛:云计算安全论坛
  9. 湖南省岳阳市谷歌高清卫星地图下载
  10. 【Python】STEP 4