Python3使用requests登录人人影视网站的方法


Posted in Python onMay 11, 2016

早就听说requests的库的强大,只是还没有接触,今天接触了一下,发现以前使用urllib,urllib2等方法真是太搓了……

这里写些简单的使用初步作为一个记录

本文继续练习使用requests登录网站,人人影视有一项功能是签到功能,需要每天登录签到才能升级。

下面的代码python代码实现了使用requests登录网站的过程。

以下是使用fiddler抓包得到完整的HTTP请求头:

POST http://www.zimuzu.tv/User/Login/ajaxLogin HTTP/1.1
Host: www.zimuzu.tv
Connection: keep-alive
Content-Length: 102
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://www.zimuzu.tv
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36
Content-Type: application/x-www-form-urlencoded
DNT: 1
Referer: http://www.zimuzu.tv/user/login
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
Cookie: PHPSESSID=st40f3vohv6q16ec3atekimba0; last_item:10733=Game.of.Thrones.S06E01.The.Red.Woman.1080p.WEB-DL.DD5.1.H.264-NTb.mkv; last_item_date:10733=1461856566; mykeywords=a%3A2%3A%7Bi%3A0%3Bs%3A6%3A%22%E7%A1%85%E8%B0%B7%22%3Bi%3A1%3Bs%3A14%3A%22Silicon+Valley%22%3B%7D; zmz_rich=2
account=你的用户名&password=你的密码&remember=1&url_back=http%3A%2F%2Fwww.zimuzu.tv%2Fuser%2Fsign

python3使用requests登录人人影视网站.py代码:

"""
python3使用requests登录人人影视网站.py
2016年5月11日 07:33:59 codegay
参考资料requests文档:
http://cn.python-requests.org/zh_CN/latest/
四种常见的 POST 提交数据方式
https://imququ.com/post/four-ways-to-post-data-in-http.html
"""
import re
import requests
#requests 安装命令:pip install requests
loginurl='http://www.zimuzu.tv/User/Login/ajaxLogin'
surl='http://www.zimuzu.tv/user/sign'
httphead={
'Accept':'application/json, text/javascript, */*; q=0.01',
'Origin':'http://www.zimuzu.tv',
'X-Requested-With':'XMLHttpRequest',
'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36',
'Content-Type': 'application/x-www-form-urlencoded',
}
data="account=用户名&password=密码&remember=1"
session=requests.Session()
login=session.post(loginurl,data=data,headers=httphead)
print(login.cookies)#打印登录后取得到cookies对象
print(login.json()) 
getstat=session.get(surl).text.split("\n") #访问签到页面,显示最近三次登录时间
[print(r) for r in getstat if "三次登录时间" in r]

对比其中两者可见,有一些HTTP头省略掉也能达到目的,毕竟每次手动请求头感觉挺麻烦的。

在fidder 中Connection: keep-alive Content-Length: 两项不能省略,ncat之类的工具中也不能省略Content-Length,如果改动了post的数据,需要手动修正Content-Length的值。

在python中可以省略掉Content-Length,我猜python已经帮我们处理了。

关于python3使用requests登录人人影视网站的方法就给大家介绍这么多,希望对大家有所帮助!

Python 相关文章推荐
python 切片和range()用法说明
Mar 24 Python
Python进程间通信用法实例
Jun 04 Python
python 实时遍历日志文件
Apr 12 Python
python下读取公私钥做加解密实例详解
Mar 29 Python
Python决策树之基于信息增益的特征选择示例
Jun 25 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
Aug 30 Python
浅谈python中拼接路径os.path.join斜杠的问题
Oct 23 Python
Python嵌套式数据结构实例浅析
Mar 05 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
Apr 01 Python
Python装饰器的应用场景代码总结
Apr 10 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
Jun 30 Python
TensorFlow2.0使用keras训练模型的实现
Feb 20 Python
在Django中进行用户注册和邮箱验证的方法
May 09 #Python
Python数据类型详解(三)元祖:tuple
May 08 #Python
Python数据类型详解(二)列表
May 08 #Python
Python数据类型详解(一)字符串
May 08 #Python
Python常用知识点汇总
May 08 #Python
Python对list列表结构中的值进行去重的方法总结
May 07 #Python
Python环境下安装使用异步任务队列包Celery的基础教程
May 07 #Python
You might like
分享一个php 的异常处理程序
2014/06/22 PHP
php单例模式实现方法分析
2015/03/14 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
PHP实现对数组分页处理实例详解
2017/02/07 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
2010/03/12 Javascript
jQuery EasyUI API 中文文档 - Dialog对话框
2011/11/15 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
JS中产生标识符方式的演变
2015/06/12 Javascript
JavaScript实现同一页面内两个表单互相传值的方法
2015/08/12 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
jQuery实现form表单元素序列化为json对象的方法
2015/12/09 Javascript
vue.js绑定class和style样式(6)
2016/12/09 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
bootstrap警告框示例代码分享
2017/05/17 Javascript
基于JavaScript 性能优化技巧心得(分享)
2017/12/11 Javascript
微信小程序websocket聊天室的实现示例代码
2019/02/12 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
zbar解码二维码和条形码示例
2014/02/07 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
Python中return self的用法详解
2018/07/27 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
Python实现自动签到脚本的示例代码
2020/08/19 Python
python 录制系统声音的示例
2020/12/21 Python
财务会计人员岗位职责
2013/11/30 职场文书
自我鉴定写作要点
2014/01/17 职场文书
四风存在的原因分析
2014/02/11 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
忠诚教育心得体会
2014/09/03 职场文书
擅自离岗检讨书
2014/09/12 职场文书
2014学习十八届四中全会精神思想汇报范文
2014/10/23 职场文书