你好

由于你是游客

无法查看本文

请你登录再进

谢谢合作

当你在爬某些网站的时候

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

咋整?

莫慌

小帅b把这几招传授给你

让你以后从容应对

那么

接下来就是

学习 python 的正确姿势

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

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

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

今天

小帅b先跟你说说第一种

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

第一招

Cookie大法

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

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

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

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

这就是因为 Cookie 在做怪

简单来说

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

服务器都会给他一个 Cookie

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

你顺带把这个 Cookie 传过去

服务器一看

诶,小伙子是老客户啊

有登录过

直接返回数据给他吧

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

也就是说

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

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

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

然后再给你一个有效的 Cookie

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

ok

了解了这一点之后

我们就来玩一下吧

我们以「逼乎」为例

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

输入地址之后

按一下 F12

点击 network 标签

然后登录你的帐号

然后点击其中一个

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

有了 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>....

第二招

表单请求大法

很简单

就是通过抓包

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

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

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

具体在这

去看下

我就不多说了

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

第三招

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

以上这三招

希望对你有帮助

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

下回见

peace

帅b老仙

法力无边

(你想约我么?)

点个在看

继续发力

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

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

    你好 由于你是游客 无法查看本文 请你登录再进 谢谢合作 当你在爬某些网站的时候 需要你登录才可以获取数据 咋整? 莫慌 小帅b把这几招传授给你 让你以后从容应对 那么 接下来就是 登录的常见方法无非 ...

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

    你好 由于你是游客 无法查看本文 请你登录再进 谢谢合作 当你在爬某些网站的时候 需要你登录才可以获取数据 咋整? 莫慌 小帅b把这几招传授给你 让你以后从容应对 那么 接下来就是 学习 python ...

  3. 网页爬虫python代码_Python 爬虫web网页版程序代码

    一:网页结构分析 二:代码实战#! /usr/bin/env python2 # encoding=utf-8 #BeautifulSoup需要安装 MySQLdb import sys,os,re, ...

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

    你好 由于你是游客 无法查看本文 请你登录再进 谢谢合作 当你在爬某些网站的时候 需要你登录才可以获取数据 咋整? 莫慌 小帅b把这几招传授给你 让你以后从容应对 那么 接下来就是 学习 python ...

  5. python登录网页账号密码_遇到需要登录的网站怎么办?学好python,用这3招轻松搞定...

    你好 由于你是游客 无法查看本文 请你登录再进 谢谢合作..... 当你在爬某些网站的时候 需要你登录才可以获取数据 咋整? 莫慌 把这几招传授给你 让你以后从容应对 登录的常见方法无非是这两种 1. ...

  6. 怎么去调需要登录的接口_遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定...

    你好 由于你是游客 无法查看本文 请你登录再进 谢谢合作..... 当你在爬某些网站的时候 需要你登录才可以获取数据 咋整? 莫慌 把这几招传授给你 让你以后从容应对 登录的常见方法无非是这两种 1. ...

  7. bmp转换tiff c++代码_如何用Java语言将图像转换为PDF?Spire.PDF for Java轻松搞定

    对于开发人员,在日常工作中经常也会处理许多文档格式,将图像转换为PDF也是常有的事.那么,在Java语言开发中,如何将图像转换为PDF呢? Spire.PDF for Java支持将多种图像格式(例如 ...

  8. 精选10个Python库,几行代码轻松搞定探索性数据分析!

    点击上方"菜鸟学Python",选择"星标"公众号 超级无敌干货,第一时间送达!!! 探索性数据分析是数据科学模型开发和数据集研究的重要组成部分之一.在拿到一个 ...

  9. 无法找到CCTV直播MP4地址?七十行代码,简单使用FFplay直接观看还是下载CCTV栏目都轻松搞定(Python利用FLVCD硕鼠解析CCTV直播,FFplay播放并下载视频)

    我们在每天使用新闻的时候大都会以CCTV发布的新闻为准,我们的每天新闻收视率最高的还是我们的总台,大家闲来无事可能也会看一下央视网提供视频直播吧,看看还可以,但是我们可以发现我们完全解析不了,大家看一 ...

最新文章

  1. (总结)CentOS 6.x使用yum快速安装Apache+PHP+Tomcat(JSP)+MySQL
  2. Visual Studio 2005 Web Application Projects 正式推出
  3. 金额转换,阿拉伯数字的金额转换成 面试编程题
  4. Python中,我该如何切分字符串后保留分割符?
  5. c linux time微秒_Python时间处理模块:time模块、datetime模块及日历模块Calendar
  6. 开学前要多为孩子健康做准备
  7. linux 块编辑,vim中的可视块编辑
  8. 【十二省联考2019】皮配【分部dp】
  9. P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题(2022.02.02) --- python3实现
  10. Android下Cocos2d创建HelloWorld工程
  11. struts2异常处理流程_Struts2异常处理示例教程
  12. 杨辉三角 Python(简单易懂)
  13. 苹果cms小主题模板
  14. 数据分析 时间序列分析 ARMA模型
  15. 10月编程语言排行榜:Java第一无悬念,老戏骨重回前三!
  16. cnn模型(cnn神经网络模型)
  17. Python学习笔记 第四天
  18. 使用Retrofit2封装适用于组件化项目的网络库
  19. 软件设计师2010上午题基础知识(易错整理)
  20. 文档服务器加密,远程文件服务器文件加密攻略(一)

热门文章

  1. oracle 列级外键,Oracle外键列上是否需要索引?
  2. java notify唤醒原理_Java wait和notify虚假唤醒原理
  3. 半素数c语言,非常简单的c题目 不懂 紧急求助
  4. Python operator.truth()函数与示例
  5. date.gethour_Java LocalDateTime类| 带示例的getHour()方法
  6. 操作系统Ubuntu(实验一二)
  7. Ray.tune可视化调整超参数Tensorflow 2.0
  8. 复习----使用链表实现栈(后进先出)及迭代
  9. 英特尔显示器音频_英特尔也玩马甲?有关USB TypeC的冷知识你了解多少
  10. windows系统改装为linux系统_Linux怎么克隆系统?备份系统跟Windows系统有区别吗?...