详解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 相关文章推荐
Python2中的raw_input() 与 input()
Jun 12 Python
用Python实现命令行闹钟脚本实例
Sep 05 Python
Python列表list内建函数用法实例分析【insert、remove、index、pop等】
Jul 24 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
Apr 20 Python
Python爬虫PyQuery库基本用法入门教程
Aug 04 Python
用Python shell简化开发
Aug 08 Python
Django 框架模型操作入门教程
Nov 05 Python
python生成器用法实例详解
Nov 22 Python
django rest framework使用django-filter用法
Jul 15 Python
Python 解析xml文件的示例
Sep 29 Python
python中复数的共轭复数知识点总结
Dec 06 Python
Python实现简繁体转换
Jun 07 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优于Node.js的五大理由分享
2012/09/15 PHP
php开启openssl的方法
2014/05/15 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
php与flash as3 socket通信传送文件实现代码
2014/08/16 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
判断js对象是否拥有某一个属性的js代码
2013/08/16 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
jQuery的ready方法详解
2014/11/27 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
vue实现局部刷新的实现示例
2019/04/16 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
javascript设计模式 ? 建造者模式原理与应用实例分析
2020/04/10 Javascript
python开发利器之ulipad的使用实践
2017/03/16 Python
python和ruby,我选谁?
2017/09/13 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
2020/02/28 Python
Python面向对象程序设计之继承、多态原理与用法详解
2020/03/23 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
在C语言中实现抽象数据类型什么方法最好
2014/06/26 面试题
地理科学专业毕业生求职信
2013/10/15 职场文书
财务会计专业应届毕业生求职信
2013/10/18 职场文书
2014年两会学习心得范例
2014/03/17 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
2014年质检员工作总结
2014/11/18 职场文书
2015年学校工作总结范文
2015/04/20 职场文书
酒桌上的开场白
2015/06/01 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫