为什么我们要让爬虫模拟登陆呢?有些内容只有登陆才能进行爬取,如知乎,不登录的主页只能看到注册和登陆 ;

你想爬取自己的个人信息

有什么方法呢?cookie

在互联网发展的早期,由于大家的服务器都不是太好,所以服务端不会记住你的个人信息,这会增加服务器的压力。因此早期的连接都是一次性的,服务器在不会记得你什么时候来过,也不知道你做了什么。但是随着服务器的升级换代,淘宝这类网站需要记住你的个人信息,这样你下次访问的时候可以继续上次的工作。但是http协议依旧保持了无状态的特性,cookies应运而生。cookies在访问服务器后会记录在浏览器上,这样就可以在客户端下次访问的时候想起它是谁了。

HTTP持久连接

在没有持久连接之前,为获取每一个URL指定的资源都必须建立一个独立额TCP连接,一方面加重了HTTP服务器的负担;另一方面由于服务器不会记住客服端,导致我们需要每一个请求都要执行登录操作。但是有了HTTP持久连接后,我们对同一个主机的多次请求会使用同一个TCP连接。因此登录后就可以保持这类状态进行请求操作。

实现方法!

针对方法1,我们只要从在浏览器获取cookie,然后带着cookie进行访问就行了,如下:利用chrome的开发者工具获取cookies

获取cookies

填写cookies cookies = {'cookie':'红框部分'}

带cookies发起请求:html = requests.get(url,cookies=cookies).content

针对方法2,我们使用requests的Session类进行持久连接,就直接上代码了哦#导入必要的库import requestsfrom bs4 import BeautifulSoup

url = 'https://www.zhihu.com/#signin'session = requests.Session() #实例化Sessionwb_data = session.get(url).text

soup = BeautifulSoup(wb_data,'lxml')# 填写登录表单xsrf = soup.select('input[value]')[-1].get('value')

data = {    '_xsrf': xsrf,    'password': 'your password',    'remember_me': 'true',    'email': 'your email'}# 提交表单log_post =session.post('http://www.zhihu.com/login/email', data=data)

url = 'https://www.zhihu.com/'test = session.get(url)

wb_data = BeautifulSoup(test.text, 'lxml')# 检验是否成功登录wb_data.select('#feed-0 > div.feed-item-inner > div.feed-main > div.feed-content > h2 > a')

结语

HTTP持久链接和Cookies其实没有冲突,虽然我说是两种方法,但是你可以在使用cookies免提交表单登陆的时使用Session,这样只需要第一次get的时候带上cookies,剩余操作就不需要cookies了。

但是我使用cookies发现还是不能变成登陆状态,我也是很忧伤。但是你可以在模拟登陆后,然后取得cookies信息,用获得的cookies登陆,不过这就失去用cookie免登陆的价值了。

当我用jupyter notebook发现无法使用cookie让服务器认识我,当我用命令行时候,同样的代码反而没有问题,我无奈了。

作者:hoptop

链接:https://www.jianshu.com/p/d5c67999288f

python爬虫怎么登录_Python爬虫基础-模拟登陆相关推荐

  1. python 裁判文书网_python - 用selenium模拟登陆裁判文书网,系统报错找不到元素。...

    问 题 from selenium import webdriver from selenium.webdriver.common.desired_capabilities import Desire ...

  2. python爬虫淘宝登录_python爬虫实现模拟淘宝登录

    就算所有人都不支持你.这条路会很曲折,你也会一度认为是不是自己选错了,但只要坚持,就算最后没有成功,但努力了就不会有遗憾. python爬虫模拟淘宝登录 小贴士 这个爬虫和搜索引擎的爬虫是有区别的.搜 ...

  3. python post 登录_Python爬虫之模拟post登陆及get登陆

    一.模拟登陆需要账号,密码的网址 一些不需要登陆的网址操作已经试过了,这次来用Python尝试需要登陆的网址,来利用cookie模拟登陆 由于我们教务系统有验证码偏困难一点,故挑了个软柿子捏,赛氪,赛 ...

  4. python爬虫知识大全_Python爬虫入门有哪些基础知识点

    1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...

  5. python爬虫酷狗_python爬虫教程:爬取酷狗音乐,零基础小白也能爬取哦

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:python学习教程 ( 想要学习Python?Pyt ...

  6. python爬去新浪微博_Python 爬虫如何机器登录新浪微博并抓取内容?

    啊喂,你们不要只收藏不点赞啊 = = 稍微更新一下,多说两句. 虽然爬取移动端比较简单,但是爬一点难的东西对身体好对吧. 总结一下这个模拟登陆涉及的东西: 1.用户名经过base64加密. 2.输入用 ...

  7. python爬取网页内容_Python爬虫原理解析

    笔者公众号:技术杂学铺 笔者网站:mwhitelab.com 本文将从何为爬虫.网页结构.python代码实现等方面逐步解析网络爬虫. 1. 何为爬虫 如今互联网上存储着大量的信息. 作为普通网民,我 ...

  8. python爬虫requests库_python爬虫使用Requests库 - pytorch中文网

    在入门教程中我们介绍了urllib库和urllib2的用法,同时我们了解一些爬虫的基础以及对爬虫有了基本的了解.其实在我们生产环境中,使用Request库更加方便与实用,同时我们这需要短短的几行代码就 ...

  9. python如何解析网页_Python爬虫入门第一课:如何解析网页

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于肥宅与画家 ,作者AntzUhl 我们编写网络爬虫最主要的目 ...

最新文章

  1. python中删除字典中的某个元素_python怎样删除字典中的元素
  2. windows server 2012 FTP 服务器 / 创建服务器
  3. 汉诺塔问题深度剖析(python实现)
  4. 深入理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法
  5. linux添加windows网络打印机,Linux Mint如何添加windows分享的网络打印机?
  6. jmeter web监听结果_Jmeter性能测试
  7. 基于centos6.5安装ElasticSearch
  8. linux加密文件_如何在Linux上使用Gocryptfs加密文件
  9. PyTorch系列入门到精通——GPU的使用
  10. RegExp(正则表达式对象)
  11. 2021蓝桥杯Java复习【史上最详细攻略】【持续更新】
  12. 用linux编写菜单界面,配置syslinux菜单界面
  13. julia常用矩阵函数_Julia 多维数组
  14. 怎样读书(繁体版)读书笔记
  15. Python 实现握手定理
  16. Debian修改时区
  17. asp毕业设计——基于asp+access的档案管理系统设计与实现(毕业论文+程序源码)——档案管理系统
  18. 出售价值,创造盈利——ERP从业者共勉 读高德拉特《仍然不足够》
  19. 【数学建模】模糊数学矩阵运算——python实现
  20. 【管理研习社】给CEO们推荐一些书

热门文章

  1. 利用unity与EasyAR4.0创建AR导航
  2. 用pyautogui进行鼠标移动和点击来解放懒狗的手吧!
  3. 微信机器人:小蜗牛有道翻译小助手——Django + SAE + 微信公众帐号自动回复开放接口
  4. translate-shell的使用方法
  5. python 模拟用户点击浏览器_python模拟一个浏览器
  6. PMP培训机构的好坏,有哪些评定标准?
  7. Ubuntu18.04配置 ROS2 dashing+ gazebo9 + Turtlebot3
  8. 十以内的加减乘除运算题
  9. 情人节礼物:毒一无二的维多利亚内衣
  10. 照相馆老板不会告诉你的事,不花一分钱,微信就能直接生成证件照