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原始字符串(raw strings)用法实例
Oct 13 Python
Python Web框架Tornado运行和部署
Oct 19 Python
请不要重复犯我在学习Python和Linux系统上的错误
Dec 12 Python
python 类对象和实例对象动态添加方法(分享)
Dec 31 Python
Python动态导入模块的方法实例分析
Jun 28 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
Oct 21 Python
python如何获取列表中每个元素的下标位置
Jul 01 Python
django做form表单的数据验证过程详解
Jul 26 Python
用python解压分析jar包实例
Jan 16 Python
Keras中 ImageDataGenerator函数的参数用法
Jul 03 Python
详解python os.path.exists判断文件或文件夹是否存在
Nov 16 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
Dec 04 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
检查url链接是否已经有参数的php代码 添加 ? 或 &
2010/02/09 PHP
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
Grid得到选择行数据的方法总结
2011/01/17 Javascript
表单的焦点顺序tabindex和对应enter键提交
2013/01/04 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
2014/06/01 Javascript
html的DOM中Event对象onblur事件用法实例
2015/01/21 Javascript
基于JS实现数字+字母+中文的混合排序方法
2016/06/06 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
2016/12/08 Javascript
浅析vue component 组件使用
2017/03/06 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
AngularJs每天学习之总体介绍
2017/08/07 Javascript
JS内部事件机制之单线程原理
2018/07/02 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
Vue结合后台导入导出Excel问题详解
2019/02/19 Javascript
python 多线程应用介绍
2012/12/19 Python
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
selenium+python环境配置教程详解
2019/05/28 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
matplotlib图例legend语法及设置的方法
2020/07/28 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
HTML5 Canvas像素处理使用接口介绍
2012/12/02 HTML / CSS
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
皇家阿尔伯特英国官方商店:Royal Albert骨瓷
2019/03/25 全球购物
德国便宜的宠物店:Brekz.de
2020/10/23 全球购物
校企合作协议书
2014/04/16 职场文书
领导班子在批评与自我批评座谈会上的发言
2014/09/28 职场文书
中学生旷课检讨书模板
2014/10/08 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
酒店采购员岗位职责
2015/04/03 职场文书
宿舍卫生管理制度
2015/08/05 职场文书
pytest进阶教程之fixture函数详解
2021/03/29 Python