python爬虫登录网站_python爬虫19 | 遇到需要的登录的网站怎么办?用这3招轻松搞定!...

你好

由于你是游客

无法查看本文

请你登录再进

谢谢合作

640?wx_fmt.jpeg

当你在爬某些网站的时候

需要你登录才可以获取数据

咋整?

莫慌

小帅b把这几招传授给你

让你以后从容应对

640?wx_fmt.gif

那么

接下来就是

640?wx_fmt.gif

登录的常见方法无非是这两种

1、让你输入帐号和密码登录

640?wx_fmt.jpeg

2、让你输入帐号密码+验证码登录

640?wx_fmt.jpeg

今天

小帅b先跟你说说第一种

需要验证码的咱们下一篇再讲

第一招

640?wx_fmt.jpeg

Cookie大法

你平常在上某个不为人知的网站的时候

是不是发现你只要登录一次

就可以一直看到你想要的内容

过了一阵子才需要再次登录

这就是因为 Cookie 在做怪

简单来说

就是每一个使用这个网站的人

服务器都会给他一个 Cookie

那么下次你再请求数据的时候

你顺带把这个 Cookie 传过去

服务器一看

诶,小伙子是老客户啊

640?wx_fmt.jpeg

有登录过

直接返回数据给他吧

在服务中还可以设置 Cookie 的有效时间

也就是说

当你下次携带一个过期了的 Cookie 给服务器的时候

服务器虽然知道你是老客户

但是还是需要你重新再登录一次

然后再给你一个有效的 Cookie

Cookie 的时长周期是服务器那边定的

ok

了解了这一点之后

我们就来玩一下吧

我们以「逼乎」为例

https://biihu.cc/account/login/

输入地址之后

按一下 F12

点击 network 标签

然后登录你的帐号

然后点击其中一个

你就可以看到在 Request Headers 有你的 Cookie

640?wx_fmt.png

有了 Cookie 之后

我们在代码中直接获取我的个人信息

import requestsheaders = {# 假装自己是浏览器'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/73.0.3683.75 Chrome/73.0.3683.75 Safari/537.36',# 把你刚刚拿到的Cookie塞进来'Cookie': 'eda38d470a662ef3606390ac3b84b86f9; Hm_lvt_f1d3b035c559e31c390733e79e080736=1553503899; biihu__user_login=omvZVatKKSlcXbJGmXXew9BmqediJ4lzNoYGzLQjTR%2Fjw1wOz3o4lIacanmcNncX1PsRne5tXpE9r1sqrkdhAYQrugGVfaBICYp8BAQ7yBKnMpAwicq7pZgQ2pg38ZzFyEZVUvOvFHYj3cChZFEWqQ%3D%3D; Hm_lpvt_f1d3b035c559e31c390733e79e080736=1553505597',}session = requests.Session()response = session.get('https://biihu.cc/people/wistbean%E7%9C%9F%E7%89%B9%E4%B9%88%E5%B8%85', headers=headers)print(response.text)

运行后可以发现不用登录就可以直接拿到自己的个人信息了

小帅b真特么帅 的个人主页 - 逼乎....

第二招

640?wx_fmt.jpeg

表单请求大法

很简单

就是通过抓包

获取请求登录的时候需要用到的用户名密码参数

然后以表单的形式请求服务器

如果你细心一点的话应该会知道之前说过拉

具体在这

去看下

我就不多说了

第三招

640?wx_fmt.jpeg

Selenium 自动登录法

你应该看过这两个

看过的话

那么对于你来说

Selenium 自动登录也太 tm 简单了吧

获取到两个输入框的元素

再获取到登录按钮

往输入框写你的帐号密码

然后自动点击一下登录

username = WAIT.until(EC.presence_of_element_located((By.CSS_SELECTOR, "帐号的selector")))password = WAIT.until(EC.presence_of_element_located((By.CSS_SELECTOR, "密码的selector")))submit = WAIT.until(EC.element_to_be_clickable((By.XPATH, '按钮的xpath')))username.send_keys('你的帐号')password.send_keys('你的密码')submit.click()

登录完之后拿到 Cookie

cookies = webdriver.get_cookies()

有了 Cookie 你就可以拿到你想要的数据了

ok

以上这三招

640?wx_fmt.gif

希望对你有帮助

咱们下一篇说说验证码相关

下回见

peace

640?wx_fmt.gif

帅b老仙

法力无边

(你想约我么?)

点个在看

继续发力

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/504100.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ei会议论文录用但不参加会议_美国研究生和博士申请论文发表真的很重要吗?...

在美国研究生和博士申请的过程中,论文可以直观体现申请者研究经历,一篇高质量的论文能够让美国招生官能够快速了解到申请者对所申请专业的理解,同时能够通过文章论述直观感受到申请者的学术思维力、判断力、逻辑分析能力等,这是简…

干货 | 大牛谈嵌入式C语言的高级用法

C语言程序设计是我们的专业基础课,但是C语言本身却是一个非常强大的工具,它是到目前为止最为广泛使用的工具,并且在可以预见的将来,它仍然是皈依为程序员的人们心中的神器。这个工具作什么的呢?它在人和机器之间建立了…

python提示对话框自动关闭_Python - tkinter:打开和关闭对话框窗口

我是Python新手,必须编写一个简单的GUI程序,为了简单起见,我选择在tkinter中这样做。 我想要的GUI应该非常类似于在Windows上安装程序时经常遇到的对话框(您想要安装的位置,您想要的模块等)。基本上当它在p…

第六篇:如何学习C语言?

现在很多人初学者直接选择C语言的人已经变得越来越少了,主要原因还是在招聘岗位数量上无法和java,php等高级语言想媲美,但并不代表C语言已经穷途末路没有前景了,C语言的角色从前台变成了后台服务,在一些关键领域还承担…

典型相关分析_2020-2025年中国海水淡化行业发展前景与投资预测分析报告

《2020-2025年中国海水淡化行业发展前景与投资预测分析报告》利用中经未来长期对海水淡化市场跟踪搜集的一手数据,从行业的高度全面而准确的构建分析体系。报告主要分析了海水淡化行业的发展概况、海水淡化行业的发展环境、国外海水淡化行业发展经验借鉴、中国海水淡…

语言还是你不得不服的大哥级别编程语言!

直到今天,有人在喊C语言过时的语言,还有什么值得学习的,现在看Python,PHP等语言现在都很容易用,谁还在学习老C语言,其实这是真的吗?作者下载了两种语言的源代码作为下载器。由于空间的限制&…

python爬虫好学不_python爬虫好学吗

python爬虫难学吗 简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML、JS、CSS代码返回给浏览器,这些代码经过浏览器解析、渲染,将丰富多彩的网页呈现我们眼前。爬虫是什么? 如果我…

力压Java、C语言!Python 获2018年度编程语言

TIOBE 近日宣布:Python 成为 2018 年度编程语言,Python之所以获得这个称号,是因为它在2018年的排名中比其他所有语言都高。Python语言赢得了3.62%的选票,紧随其后的是Visual Basic . net(3.2%)和Java&#…

.idea文件夹是做什么的_33 个 IDEA 最牛配置,写代码太爽了!

作者:琦彦blog.csdn.net/fly910905/article/details/778683001.设置maven1.在File->settings->搜索maven2.Mavan home directory--设置maven安装包的bin文件夹所在的位置3.User settings file--设置setting文件所在的位置4.Local repository--设置本地仓库2.I…

学习C语言什么都做不了,为什么你还学?是这样吗?

对于大部分初学者,学习C语言的目的是希望做一名合格的程序员,开发出靠谱的软件来。但是学了C语言的基本语法后,发现只能开发“黑底白字”的DOS程序,完全没有漂亮的界面和生动的交互。于是学数据结构,学算法&#xff0c…

手动卸载_一种手动液压一体式卸载扳手

摘要一种手动液压一体式卸载扳手,属于煤矿井下施工设备领域,可解决井下回收单体柱时存在的安全隐患的问题,包括扳手腔体、柱塞、堵头和加长把手,扳手腔体包括半圆柱体Ⅰ以及与半圆柱体Ⅰ连接的半圆柱体Ⅱ,所述半圆柱体…

docker运行jenkins挂掉_【图文】Jenkins教程集成SonarQube

什么是SonarQube?看看维基百科的说明:SonarQube与CI/CD架构图SonarQube与CI/CD架构图Docker运行SonarQube简单了解之后,开始安装SonarQube.这里用Docker安装注:这里用mysql来存储SonarQube的数据,SonarQube7.9起已经不在支持mysq…

python写选择排序_如何快速掌握python选择排序算法?

对于算法,我们不少讲述,但是大部分小伙伴都希望,将单个算法拆分讲解,这样可以更加深对算法的印象,好了,本期,就针对选择排序算法,给大家讲解说明哦~感兴趣的小伙伴一起来看下吧~ 在列…

实现if_数组实现固定栈和队列+栈与队列相互实现

文章目录一、数组实现固定栈和队列1.数组实现固定栈2.数组实现固定队列二、栈与队列相互实现1.两个队列实现栈2.两个栈实现队列一、数组实现固定栈和队列1.数组实现固定栈代码如下:class ArrayStack { private:int *arr;int index; public:ArrayStack(int initSize)…

友情提示,你该找一份假期实习啦!

假期已至, 这么漫长的寒假, 你是否有找一份实习的打算呢? 是否毫无头绪和思路? 是找一份毫无意义的推销工作,传单,快餐店,电话推销等,还是真正找到兴趣所在,专业相关&…

什么意思_invalid是什么意思

invalid是什么意思in,常见的表示反义的前缀,更多例子比如:indifferent, infinite, incapable, etc. valid,形容词,有根据的、让人信服的、有效的、有法律效力的。相关的单词我们还背过validity.validinvalid&#xff0…

互联网技术+非技术书单资源分享,都给泥萌!

为了更好的帮助到大家,从讨论区去找到对应的分享给大家 欢迎留言你想要的书资源,并说明理由(比如为什么想看这本书之类的),这边有的话都会汇总~~ 深入理解java虚拟机 链接: https://pan.baidu.com/s/1wXGZnMiDKd6AKS…

createprocess失败代码2_pytest文档57单元测试代码覆盖率(pytestcov)

前言我们在做测试的时候,经常遇到领导的灵魂拷问:你的测试用例覆盖率是多少,达到100%了么?你如何保证你的测试质量?测试用例的覆盖率如何统计呢,如何知道开发的代码,我们都测到了,不…

java包名和类名可以一样吗_Java入门第三课:Java基本语法

Java基础编写Java程序时,应注意以下几点:1.大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。有些操作系统不区分大小写,不区分的话,文件名是不完全正确的。 然而,如果你的…

C语言入门精髓

上篇说到了C语言还是很基础的编程语言,还是值得去学,那么怎么去学?什么人才能学好?为什么学到一半就早早缴械投降了?众多迷雾,众多的困难,怎么破局? 如有小伙伴想学习C语言基础&…