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语言的优雅之处
Jul 04 Python
python中查看变量内存地址的方法
May 05 Python
Python实现模拟登录及表单提交的方法
Jul 25 Python
python 使用get_argument获取url query参数
Apr 28 Python
Python切片操作深入详解
Jul 27 Python
利用Python将每日一句定时推送至微信的实现方法
Aug 13 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
Oct 29 Python
python远程连接MySQL数据库
Apr 19 Python
python的sorted用法详解
Jun 25 Python
python @propert装饰器使用方法原理解析
Dec 25 Python
使用Tensorboard工具查看Loss损失率
Feb 15 Python
python基本算法之实现归并排序(Merge sort)
Sep 01 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
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
javascript 读取xml,写入xml 实现代码
2009/07/10 Javascript
让IE6支持min-width和max-width的方法
2010/06/25 Javascript
javaScript复制功能调用实现方案
2012/12/13 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
JS实现的简单四则运算计算器功能示例
2017/09/27 Javascript
vue cli2.0单页面title修改方法
2018/06/07 Javascript
vue中如何让子组件修改父组件数据
2018/06/14 Javascript
Vue 监听列表item渲染事件方法
2018/09/06 Javascript
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
JS实现的tab页切换效果完整示例
2018/12/18 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
Vue(定时器)解决mounted不能获取到data中的数据问题
2020/07/30 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
[00:37]DOTA2上海特级锦标赛 Secert 战队宣传片
2016/03/03 DOTA
Python with用法实例
2015/04/14 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
2019/10/17 Python
python调用函数、类和文件操作简单实例总结
2019/11/29 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
用 Python 制作地球仪的方法
2020/04/24 Python
通过HTML5规范搞定i、em、b、strong元素的区别
2017/03/04 HTML / CSS
详解如何在登录过期后跳出Ifram框架
2020/09/10 HTML / CSS
加拿大最大的箱包及旅游配件零售商:Bentley Leathers
2017/07/19 全球购物
台湾家适得:Homeget
2019/02/11 全球购物
文明教师事迹材料
2014/01/16 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
交通事故一次性赔偿协议书范本
2014/11/02 职场文书
国富论读书笔记
2015/06/26 职场文书
致接力运动员加油稿
2015/07/21 职场文书
JavaScript如何优化逻辑判断代码详解
2021/06/08 Javascript