详解python 模拟豆瓣登录(豆瓣6.0)


Posted in Python onApril 18, 2019

最近在学习python爬虫,看到网上有很多关于模拟豆瓣登录的例子,随意找了一个试了下,发现不能运行,对比了一下代码和豆瓣网站,发现原来是豆瓣网站做了修改,增加了反爬措施。

首先看下要模拟登录的网站:

详解python 模拟豆瓣登录(豆瓣6.0)

打开开发者模式:

详解python 模拟豆瓣登录(豆瓣6.0)

在账号和密码随意填入数据:

详解python 模拟豆瓣登录(豆瓣6.0)

发现会发送一个post请求:

详解python 模拟豆瓣登录(豆瓣6.0)

ur是:https://accounts.douban.com/j/mobile/login/basic

数据格式是:

详解python 模拟豆瓣登录(豆瓣6.0)

于是可以来编写代码:

import requests

def main():
  url_basic = 'https://accounts.douban.com/j/mobile/login/basic'
  url = 'https://www.douban.com/'
  ua_headers = { "User-Agent":'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)'}
  data = {
    'ck': '',
    'name': '自己的账号',
    'password': '自己的密码',
    'remember': 'false',
    'ticket': ''
  }

  s = requests.session()
  s.post(url=url_basic, headers=ua_headers, data=data)
  response = s.get(url=url, headers=ua_headers)
  with open('douban.html' , 'wb') as f:
    f.write(response.content)

if __name__ == '__main__':
  main()

第一步:

创建 s = requests.session()

作用是跨请求保持参数,也就是说s这个session对象所发出的所有请求之间会保持cookies

第二步:

用创建好的session对象携带账号,密码去发送post请求。

由于改版后的豆瓣返回的是一个josn数据,而不是像以前一样重定向,所以需要我们来重定向。

第三步:

携带登录成功保存的cookie去访问首页,就会得到你自己的首页.

最后得到个人首页:

详解python 模拟豆瓣登录(豆瓣6.0)

以上所述是小编给大家介绍的python模拟豆瓣登录详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python实现HTTP协议下的文件下载方法总结
Apr 20 Python
Python使用微信SDK实现的微信支付功能示例
Jun 30 Python
Django数据库表反向生成实例解析
Feb 06 Python
python 读取DICOM头文件的实例
May 07 Python
python指定写入文件时的编码格式方法
Jun 07 Python
python多环境切换及pyenv使用过程详解
Sep 27 Python
基于Python执行dos命令并获取输出的结果
Dec 30 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
Jan 02 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
解决Keras中CNN输入维度报错问题
Jun 29 Python
在keras中对单一输入图像进行预测并返回预测结果操作
Jul 09 Python
python实现web邮箱扫描的示例(附源码)
Mar 30 Python
Python面向对象总结及类与正则表达式详解
Apr 18 #Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
Apr 18 #Python
详解python数据结构和算法
Apr 18 #Python
python基础知识(一)变量与简单数据类型详解
Apr 17 #Python
关于python多重赋值的小问题
Apr 17 #Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
Apr 17 #Python
一步步教你用python的scrapy编写一个爬虫
Apr 17 #Python
You might like
在PHP里得到前天和昨天的日期的代码
2007/08/16 PHP
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
php笔记之:数据类型与常量的使用分析
2013/05/14 PHP
PHP时间格式控制符对照表分享
2013/07/23 PHP
php中time()和mktime()方法的区别
2013/09/28 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
2016/05/27 PHP
php封装的mysqli类完整实例
2016/10/18 PHP
js 居中漂浮广告
2010/03/21 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
2013/01/23 Javascript
javascript实现获取浏览器版本、浏览器类型
2015/12/02 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
浅谈JS中的反柯里化( uncurrying)
2017/08/17 Javascript
微信小程序checkbox组件使用详解
2018/01/31 Javascript
jquery层次选择器的介绍
2019/01/18 jQuery
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
Python实现对文件进行单词划分并去重排序操作示例
2018/07/10 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
慕尼黑山地运动、户外服装和体育用品专家:Sporthaus Schuster
2019/08/27 全球购物
编写函数,将一个3*3矩阵转置
2013/10/09 面试题
介绍一下Java中标识符的命名规则
2014/02/03 面试题
应届生会计电算化求职信
2013/10/03 职场文书
销售工作人员的自我评价分享
2013/11/10 职场文书
城建学院毕业生自荐信
2014/01/31 职场文书
优秀团队获奖感言
2014/02/19 职场文书
小露珠教学反思
2014/04/30 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang
python opencv旋转图片的使用方法
2021/06/04 Python
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers
Win11如何启用启动修复 ? Win11执行启动修复的三种方法
2022/04/08 数码科技