python爬虫怎么登录_Python爬虫基础-模拟登陆
为什么我们要让爬虫模拟登陆呢?有些内容只有登陆才能进行爬取,如知乎,不登录的主页只能看到注册和登陆 ;
你想爬取自己的个人信息
有什么方法呢?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爬虫基础-模拟登陆相关推荐
- python 裁判文书网_python - 用selenium模拟登陆裁判文书网,系统报错找不到元素。...
问 题 from selenium import webdriver from selenium.webdriver.common.desired_capabilities import Desire ...
- python爬虫淘宝登录_python爬虫实现模拟淘宝登录
就算所有人都不支持你.这条路会很曲折,你也会一度认为是不是自己选错了,但只要坚持,就算最后没有成功,但努力了就不会有遗憾. python爬虫模拟淘宝登录 小贴士 这个爬虫和搜索引擎的爬虫是有区别的.搜 ...
- python post 登录_Python爬虫之模拟post登陆及get登陆
一.模拟登陆需要账号,密码的网址 一些不需要登陆的网址操作已经试过了,这次来用Python尝试需要登陆的网址,来利用cookie模拟登陆 由于我们教务系统有验证码偏困难一点,故挑了个软柿子捏,赛氪,赛 ...
- python爬虫知识大全_Python爬虫入门有哪些基础知识点
1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...
- python爬虫酷狗_python爬虫教程:爬取酷狗音乐,零基础小白也能爬取哦
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:python学习教程 ( 想要学习Python?Pyt ...
- python爬去新浪微博_Python 爬虫如何机器登录新浪微博并抓取内容?
啊喂,你们不要只收藏不点赞啊 = = 稍微更新一下,多说两句. 虽然爬取移动端比较简单,但是爬一点难的东西对身体好对吧. 总结一下这个模拟登陆涉及的东西: 1.用户名经过base64加密. 2.输入用 ...
- python爬取网页内容_Python爬虫原理解析
笔者公众号:技术杂学铺 笔者网站:mwhitelab.com 本文将从何为爬虫.网页结构.python代码实现等方面逐步解析网络爬虫. 1. 何为爬虫 如今互联网上存储着大量的信息. 作为普通网民,我 ...
- python爬虫requests库_python爬虫使用Requests库 - pytorch中文网
在入门教程中我们介绍了urllib库和urllib2的用法,同时我们了解一些爬虫的基础以及对爬虫有了基本的了解.其实在我们生产环境中,使用Request库更加方便与实用,同时我们这需要短短的几行代码就 ...
- python如何解析网页_Python爬虫入门第一课:如何解析网页
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于肥宅与画家 ,作者AntzUhl 我们编写网络爬虫最主要的目 ...
最新文章
- python中删除字典中的某个元素_python怎样删除字典中的元素
- windows server 2012 FTP 服务器 / 创建服务器
- 汉诺塔问题深度剖析(python实现)
- 深入理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法
- linux添加windows网络打印机,Linux Mint如何添加windows分享的网络打印机?
- jmeter web监听结果_Jmeter性能测试
- 基于centos6.5安装ElasticSearch
- linux加密文件_如何在Linux上使用Gocryptfs加密文件
- PyTorch系列入门到精通——GPU的使用
- RegExp(正则表达式对象)
- 2021蓝桥杯Java复习【史上最详细攻略】【持续更新】
- 用linux编写菜单界面,配置syslinux菜单界面
- julia常用矩阵函数_Julia 多维数组
- 怎样读书(繁体版)读书笔记
- Python 实现握手定理
- Debian修改时区
- asp毕业设计——基于asp+access的档案管理系统设计与实现(毕业论文+程序源码)——档案管理系统
- 出售价值,创造盈利——ERP从业者共勉 读高德拉特《仍然不足够》
- 【数学建模】模糊数学矩阵运算——python实现
- 【管理研习社】给CEO们推荐一些书
热门文章
- 利用unity与EasyAR4.0创建AR导航
- 用pyautogui进行鼠标移动和点击来解放懒狗的手吧!
- 微信机器人:小蜗牛有道翻译小助手——Django + SAE + 微信公众帐号自动回复开放接口
- translate-shell的使用方法
- python 模拟用户点击浏览器_python模拟一个浏览器
- PMP培训机构的好坏,有哪些评定标准?
- Ubuntu18.04配置 ROS2 dashing+ gazebo9 + Turtlebot3
- 十以内的加减乘除运算题
- 情人节礼物:毒一无二的维多利亚内衣
- 照相馆老板不会告诉你的事,不花一分钱,微信就能直接生成证件照