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 ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
Jun 10 Python
web.py获取上传文件名的正确方法
Aug 26 Python
Python运行报错UnicodeDecodeError的解决方法
Jun 07 Python
Python 用Redis简单实现分布式爬虫的方法
Nov 23 Python
Python实现连接postgresql数据库的方法分析
Dec 27 Python
详解python3 + Scrapy爬虫学习之创建项目
Apr 12 Python
python傅里叶变换FFT绘制频谱图
Jul 19 Python
python实现多进程按序号批量修改文件名的方法示例
Dec 30 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
Jan 03 Python
python help函数实例用法
Dec 06 Python
python中delattr删除对象方法的代码分析
Dec 15 Python
python3中apply函数和lambda函数的使用详解
Feb 28 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图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
php smarty 二级分类代码和模版循环例子
2011/06/16 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
2015/03/10 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
JS实现获取当前URL和来源URL的方法
2016/08/24 Javascript
javascript如何创建对象
2016/08/29 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
2018/01/29 jQuery
详解Vue、element-ui、axios实现省市区三级联动
2019/05/07 Javascript
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
2019/09/11 Javascript
Vue 封装防刷新考试倒计时组件的实现
2020/06/05 Javascript
在vue中实现给每个页面顶部设置title
2020/07/29 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
python求crc32值的方法
2014/10/05 Python
python版大富翁源代码分享
2018/11/19 Python
Python实现的爬取百度贴吧图片功能完整示例
2019/05/10 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
在django中查询获取数据,get, filter,all(),values()操作
2020/08/09 Python
Python 列表反转显示的四种方法
2020/11/16 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
python实现代码审查自动回复消息
2021/02/01 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
买房子个人收入证明
2014/01/16 职场文书
自我鉴定书
2014/03/24 职场文书
2014年党员自我评价材料
2014/09/22 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers