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

你好

由于你是游客

无法查看本文

请你登录再进

谢谢合作

449bf89f441dba7ca9430408d36e9c41.png

当你在爬某些网站的时候

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

咋整?

莫慌

小帅b把这几招传授给你

让你以后从容应对

eb8ac0081d07f9e52867b176a3591f1c.gif

那么

接下来就是

学习 python 的正确姿势

e1eb5bd706bf38bda3104e127928762f.gif

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

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

fdc2564a69107ac96d83164964eff789.png

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

119d0160fdf50031975ee16f26a6dd6b.png

今天

小帅b先跟你说说第一种

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

第一招

b20ca19b930548c9e9f7612d6cdaf40b.png

Cookie大法

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

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

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

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

这就是因为 Cookie 在做怪

简单来说

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

服务器都会给他一个 Cookie

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

你顺带把这个 Cookie 传过去

服务器一看

诶,小伙子是老客户啊

810fbc244da998423c05606eb913cc75.png

有登录过

直接返回数据给他吧

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

也就是说

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

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

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

然后再给你一个有效的 Cookie

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

ok

了解了这一点之后

我们就来玩一下吧

我们以「逼乎」为例

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

输入地址之后

按一下 F12

点击 network 标签

然后登录你的帐号

然后点击其中一个

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

1f28bb153559ac3f522c52dcd19f599f.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)

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

<html><head><meta content="text/html;charset=utf-8" http-equiv="Content-Type" /><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" /><meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" /><meta name="renderer" content="webkit" /><title>小帅b真特么帅 的个人主页 - 逼乎title><meta name="keywords" content="逼乎,问答,装逼,逼乎网站" /><meta name="description" content="逼乎 ,与世界分享你的装逼技巧与见解"  /><base href="https://biihu.cc/" /><link rel="stylesheet" type="text/css" href="https://biihu.cc/static/css/bootstrap.css" /><link rel="stylesheet" type="text/css" href="https://biihu.cc/static/css/icon.css" /><link href="https://biihu.cc/static/css/default/common.css?v=20180831" rel="stylesheet" type="text/css" /><link href="https://biihu.cc/static/css/default/link.css?v=20180831" rel="stylesheet" type="text/css" /><link href="https://biihu.cc/static/js/plug_module/style.css?v=20180831" rel="stylesheet" type="text/css" /><link href="https://biihu.cc/static/css/default/user.css?v=20180831" rel="stylesheet" type="text/css" /><link href="https://biihu.cc/static/css/mood/mood.css" rel="stylesheet" type="text/css" /><script type="text/javascript">  var _02AEC94D5CA08B39FC0E1F7CC220F9B4="a5359326797de302bfc9aa6302c001b8";  var G_POST_HASH=_02AEC94D5CA08B39FC0E1F7CC220F9B4;  var G_INDEX_SCRIPT = "";  var G_SITE_NAME = "逼乎";  var G_BASE_URL = "https://biihu.cc";  var G_STATIC_URL = "https://biihu.cc/static";  var G_UPLOAD_URL = "/uploads";  var G_USER_ID = "188";  var G_USER_NAME = "小帅b真特么帅";  var G_UPLOAD_ENABLE = "Y";  var G_UNREAD_NOTIFICATION = 0;  var G_NOTIFICATION_INTERVAL = 100000;  var G_CAN_CREATE_TOPIC = "1";  var G_ADVANCED_EDITOR_ENABLE = "Y";  var FILE_TYPES = "jpg,jpeg,png,gif,zip,doc,docx,rar,pdf,psd";script><script src="https://biihu.cc/static/js/jquery.2.js?v=20180831" type="text/javascript">script>....

第二招

3273743993b3dff861054b569ecd38a6.png

表单请求大法

很简单

就是通过抓包

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

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

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

具体在这

去看下

我就不多说了

python爬虫03:那个叫做 Urllib 的库让我们的 python 假装是浏览器

第三招

de593e4690f9a88d9f4cf8fe4adcda89.png

Selenium 自动登录法

你应该看过这两个

python爬虫09 | 上来,自己动 !这就是 selenium 的牛逼之处

python爬虫11 | 这次,将带你爬取b站上的NBA形象大使蔡徐坤和他的球友们

看过的话

那么对于你来说

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

以上这三招

c41cbfef154fc43f9be428e9eb6068fd.png

希望对你有帮助

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

下回见

peace

3648d9cb5693a3ba7ca2b2877a879417.gif

帅b老仙

法力无边

(你想约我么?)

点个在看

继续发力

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

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

相关文章

利用电脑上自带指纹识别嵌入程序中_Win 10 隐藏功能:不用任何软件就可实现手机投屏到电脑...

投屏工具我也介绍了不少&#xff0c;所有的都是需要安装第三方软件的。不过&#xff0c;其实 Windows 10 就自带了手机投影到电脑的功能&#xff0c;不需要任何软件就能实现。在设置中打开系统&#xff0c;找到投影到此电脑&#xff0c;在红框中根据你的需要设置好&#xff0c;…

为什么要重写hashCode()方法和equals()方法以及如何进行重写

一、前言 本篇文章主要探讨的问题有三个&#xff1a; 1、首先我们为什么需要重写hashCode()方法和equals()方法&#xff1f; 2、在什么情况下需要重写hashCode()方法和equals()方法&#xff1f; 3、如何重写这两个方法&#xff1f; 二、为什么需要重写hashCode()方法和equal…

bloomberg用法 固定收益_内部收益率的用法浅谈某保险的真实收益率

公司财务课程&#xff0c;魏教授讲得非常棒&#xff0c;治愈了大家的瞌睡&#xff0c;激起了大家的学习热情。我一直认为&#xff0c;大牛在讲课&#xff0c;吹牛还是演讲中&#xff0c;都能够给现场观众提供强大的能量&#xff0c;使得彼此运行在同一个共振频率。内部收益率(I…

联想小新锐7000主板型号_2020年高性价比游戏本选购推荐指南——7000价位游戏本推荐...

玩电脑的老猫&#xff0c;只说你最想听的话&#xff01;大家好&#xff0c;我是老猫&#xff0c;这段时间很多小伙伴问我&#xff0c;多少钱能买到一台不错的游戏本呢&#xff1f;知乎中很多人说5000元买游戏本&#xff0c;就是等于买一台“电子垃圾”虽然5000元的游戏本不是非…

Java重写equals方法时为什么要重写hashCode方法

在我们平时编写Java代码时&#xff0c;重写equals方法时一定要重写hashCode方法&#xff0c;这是为什么呢&#xff1f; 在讨论这个问题前&#xff0c;我们先看下Object类中hashCode方法和equals方法。 hashCode方法&#xff1a; 翻译如下&#xff1a; equals方法&#xff1a;…

iot nb 曹淑敏 鹰潭_移动物联时代来啦 鹰潭一项成就为全球首个 江西力争在全国“四个领先”...

移动物联网是基于移动通信网络的物联网技术体系&#xff0c;主要由NB-IoT(窄带物联网技术)、eMTC(增强机器类通信技术)、蜂窝网的未来演进技术5G(第五代移动通信技术)三种技术共同构成。江西网络广播电视台9月1日讯(记者 李希文)9月1日下午&#xff0c;江西省工信委、中国信息通…

RPC(一)[概述]

文章目录RPC-概述简介1.服务的调用过程2.RPC框架1.Dubbo–电商2.Motan–互联网3.Thrift4.gRPC5.RPCX3.RPC 和 RESTful1.RPC over HTTP 和 RESTful2.RPC over TCP 和 RESTfulRPC-概述 简介 远程过程调用&#xff08;Remote Procedure Call&#xff0c;缩写为 RPC&#xff09;是…

epic登陆按钮一直在转_双剑合璧!GOG GALAXY 2.0官方支持Epic商店集成

2020年7月21日晚&#xff0c;GOG官方宣布提供与Epic商城的集成服务&#xff0c;这也是GOG GALAXY 2.0推出以来又一次与超大型游戏平台达成的合作。现在玩家可以通过GOG GALAXY 2.0管理、安装和启动来自Epic商城的游戏。需要注意的是&#xff0c;因为这次行为是完全官方的&#…

用 Java 实现人脸识别功能

引言 人脸识别SDK 人脸识别技术是很复杂的&#xff0c;自己用Java手撕一个识别算法有点不切实际&#xff0c;毕竟实力不允许我这么嚣张&#xff0c;还是借助三方的SDK吧&#xff01; 找了一圈发现一个免费的人脸识别SDK&#xff1a; ArcSoft:&#xff0c;地址&#xff1a;ht…

有没有词匹配算法_Google Ads 再次扩展了关键字变量匹配

在过去的几年里&#xff0c;Google Ads已经扩大了使用相近的关键字变量。Google改变的匹配类型不仅包括拼写错误和复数&#xff0c;还包括功能词、修改和重新排序。日前&#xff0c;谷歌再次扩展了相近变量的使用。短语匹配和广泛匹配修饰语以下是2019年7月31日谷歌官方广告公告…

mysql 组合查询_MySQL组合查询教程

#MYSQL#这是我MySQL的第八篇教程。本篇主要介绍的是MySQL的组合查询的用法。在大多数的SQL查询中都只包含从一个或者多个表中返回数据的单条SELECT语句&#xff0c;MySQL其实也支持允许执行多条SELECT语句&#xff0c;并将结果作为单个结果集返回&#xff0c;这些组合查询通常称…

Java后端 + 百度SDK实现人脸识别

Java后端 百度SDK实现人脸识别 人工智能越来越贴近我们的生活&#xff0c;相信大家也经常接触到人脸识别&#xff0c;手机付款、app注册验证、门禁等等。 如果要用Java后台使用这些功能&#xff0c;那么需要怎么做呢&#xff1f;请看完下面这篇文章&#xff0c;就能轻松、简单…

路由器局域网设置_路由器基础介绍

路由器已经商用很多年了&#xff0c;但是一些SSID&#xff0c; DHCP, 这些名词都还没有搞懂&#xff0c;遇到路由器问题&#xff0c;不知所措&#xff0c;只能求助于网管。但是有些问题是很简单的&#xff0c;只要稍微去学习就可以解决问题。下面介绍路由器的一些简单问题。路由…

mysql主键设置after_mysql如何改变主键属性

mysql改变主键属性的方法&#xff1a;1、使用关键字modify&#xff0c;代码为【alter table tbl_name modify.....】&#xff1b;2、使用关键字change&#xff0c;代码为【alter table tbl_name change..】。本教程操作环境&#xff1a;windows7系统、mysql8.0.22版&#xff0c…

python打包成exe_Python打包成exe时,再犯这几个错误就说不过去了

大家好&#xff0c;我是今天的值班小编&#xff0c;不知道朋友们开工了没有&#xff0c;小编的公司已经远程办公好几天了。今天由于写游戏教程的那位小编弃坑不更新文章了&#xff0c;只好由本小编继续来解决粉丝朋友们的问题。 如果朋友们在使用python的过程中遇到了任何问题&…

机器视觉 光学工程专业_瑞士Idonus MEMS制造设备 创新技术 机器视觉测量(远心光学)...

机器视觉从图像处理算法到光学安装&#xff0c;idonus 提供部分或全部机器视觉解决方案。典型应用包括机械零件的高通量自动测量、表面质量检测、定位、质量控制或识别。我们定制开发的解决方案可与机器人化或手动设备相结合。我们的报价&#xff1a;定制硬件和软件&#xff0c…

vs 中使用32 位mysql_vs2010连接mysql数据库(含win32和x64两种平台)

数据库安装&#xff1a; 此处有两种安装方式&#xff0c;第一种使用xxx.msi图形化安装方式&#xff0c;和普通的exe软件安装方式一样&#xff0c;按照默认选项一直下一步就可以。mysql下载地址为http://dev.mysql.com/downloads/windows/installer/ 第二种是在mysql官网下载zip…

电脑时间校对器_笔记本电脑如何保养?华为教你五招轻松延长使用时间

集微网7月11日消息(文/数码控)&#xff0c;近日华为花粉俱乐部官方微信公众号发表长文教用户如何保养笔记本电脑&#xff0c;具体有以下五招&#xff1a;

uvc能支持多大分辨率_华为手环B5测评:该有的功能一个不缺,甚至还能变身蓝牙耳机...

前阵子&#xff0c;华为召开nova5系列新品发布会的同时&#xff0c;也给用户们带来了华为手环B5的新配色--铅石青。华为手环B5在去年7月发布&#xff0c;分为三个版本&#xff1a;运动版999元、商务版1199元、时尚版1499元。​此次更新的是运动版&#xff0c;售价仍为999元&…

cf不能全屏win7的解决方法_win7系统局域网不能访问怎么办 win7局域网不能访问解决方法...

在局域网当中比较实用的功能要数共享文件了&#xff0c;局域网共享可以让用户们共享和管理资源更加便捷&#xff0c;可以大大提高工作效率&#xff0c;不过最近有位win7系统用户使用电脑的时候&#xff0c;发现电脑无法访问局域网中的其他任何一台电脑&#xff0c;这让用户不知…