详解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 相关文章推荐
pip 错误unused-command-line-argument-hard-error-in-future解决办法
Jun 01 Python
Python 专题二 条件语句和循环语句的基础知识
Mar 19 Python
使用Python生成XML的方法实例
Mar 21 Python
wxPython的安装图文教程(Windows)
Dec 28 Python
python实现扫描日志关键字的示例
Apr 28 Python
Django 登陆验证码和中间件的实现
Aug 17 Python
pandas条件组合筛选和按范围筛选的示例代码
Aug 26 Python
Python容器使用的5个技巧和2个误区总结
Sep 26 Python
pytorch 自定义参数不更新方式
Jan 06 Python
Python-openCV开运算实例
Jul 05 Python
Python机器学习之逻辑回归
May 11 Python
Python-OpenCV教程之图像的位运算详解
Jun 21 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
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
《PHP编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
php变量作用域的深入解析
2013/06/03 PHP
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
js判断FCKeditor内容是否为空的两种形式
2013/05/14 Javascript
js使用eval解析json(js中使用json)
2014/01/17 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
nodeJS实现路由功能实例代码
2017/06/08 NodeJs
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
浅谈vue-cli 3.0.x 初体验
2018/04/11 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
jQuery轮播图功能制作方法详解
2019/12/03 jQuery
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
pycharm远程调试openstack代码
2017/11/21 Python
对Python中DataFrame选择某列值为XX的行实例详解
2019/01/29 Python
python定义类self用法实例解析
2020/01/22 Python
弄清Pytorch显存的分配机制
2020/12/10 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
2021/02/25 Python
New Balance美国官网:运动鞋和健身服装
2017/04/11 全球购物
维也纳通行证:Vienna PASS
2019/07/18 全球购物
会话Bean的种类
2013/11/07 面试题
会计专业自荐信范文
2013/12/02 职场文书
应聘销售主管的求职信
2014/04/26 职场文书
2015年企业员工工作总结范文
2015/05/21 职场文书
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android