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实现线程池的方法
Jun 30 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
Python 装饰器深入理解
Mar 16 Python
python实现数据图表
Jul 29 Python
python机器学习案例教程——K最近邻算法的实现
Dec 28 Python
对python使用http、https代理的实例讲解
May 07 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
May 16 Python
Python实现爬取马云的微博功能示例
Feb 16 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
Feb 28 Python
Python3实现定时任务的四种方式
Jun 03 Python
PyQt5 加载图片和文本文件的实例
Jun 14 Python
使用python3 实现插入数据到mysql
Mar 02 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初学者们头痛的十四个问题
2007/01/15 PHP
PHP将回调函数作用到给定数组单元的方法
2014/08/19 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
PHP的PDO操作简单示例
2016/03/30 PHP
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
javascript 24小时弹出一次的代码(利用cookies)
2009/09/03 Javascript
JavaScript 三种不同位置代码的写法
2009/10/25 Javascript
dreamweaver 安装Jquery智能提示
2011/04/02 Javascript
JavaScript模板入门介绍
2012/09/26 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
深入理解JavaScript系列(45):代码复用模式(避免篇)详解
2015/03/04 Javascript
JavaScript利用HTML DOM进行文档操作的方法
2016/03/28 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
JavaScript读取本地文件常用方法流程解析
2020/10/12 Javascript
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
详解windows python3.7安装numpy问题的解决方法
2018/08/13 Python
Python类中的装饰器在当前类中的声明与调用详解
2020/04/15 Python
前端实现打印图像功能
2019/08/27 HTML / CSS
青年教师培训方案
2014/02/06 职场文书
《蚕姑娘》教学反思
2014/04/15 职场文书
个人课题方案
2014/05/08 职场文书
出纳岗位职责范本
2015/03/31 职场文书
胡桃夹子观后感
2015/06/11 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA