改版知乎模拟登陆

[python爬虫]python+chrome无头浏览器模拟登陆(IEEE投稿系统查状态脚本) 学习如何用无头浏览器模拟登陆1.关于使用什么无头浏览器2.安装chrome driver3.初步使用3.1调用并配置driver3.2尝试访问百度,并打印热搜第一位是啥4.实用一点的脚本-登陆IEEE投稿系统查询状态4.1 输入用户名+密码+点击登陆4.2 登陆后,需要跳转到author界面4.3 查看状态5.完整代码 1.关于使用什么无头浏览器 文章(点击查看)提到了PhantomJS暂停开发了。 然后他建议我们可以使用chrome或者火狐的无头浏览器。 替代方案: 优快云上的孔天逸从Mozilla上 阅读详情

今年知乎网进行了改版,界面变成了这个样子


网站的源码也相应做了变化,很多博客上的登录方式已经不行了

有一种万能的办法就是用无头浏览器去模拟登陆,可是这样做的效率低下

经过一番查找,在git上找到了某位大神的解决办法,源码如下:

import requests, time
import hmac, json
from bs4 import BeautifulSoup
from hashlib import sha1


def get_captcha(data, need_cap):
    ''' 处理验证码 '''
    if need_cap is False:
        return
    with open('captcha.gif', 'wb') as fb:
        fb.write(data)
    return input('captcha:')


def get_signature(grantType, clientId, source, timestamp):
    ''' 处理签名 '''

    hm = hmac.new(b'd1b964811afb40118a12068ff74a12f4', None, sha1)
    hm.update(str.encode(grantType))
    hm.update(str.encode(clientId))
    hm.update(str.encode(source))
    hm.update(str.encode(timestamp))

    return str(hm.hexdigest())


def login(username, password, oncaptcha, sessiona, headers):
    ''' 处理登录 '''

    resp1 = sessiona.get('https://www.zhihu.com/signin', headers=headers)  # 拿cookie:_xsrf
    resp2 = sessiona.get('https://www.zhihu.com/api/v3/oauth/captcha?lang=cn',
                         headers=headers)  # 拿cookie:capsion_ticket
    need_cap = json.loads(resp2.text)["show_captcha"]  # {"show_captcha":false} 表示不用验证码
    grantType = 'password'
    clientId = 'c3cef7c66a1843f8b3a9e6a1e3160e20'
    source = 'com.zhihu.web'
    timestamp = str((time.time() * 1000)).split('.')[0]  # 签名只按这个时间戳变化

    captcha_content = sessiona.get('https://www.zhihu.com/captcha.gif?r=%d&type=login' % (time.time() * 1000),
                                   headers=headers).content

    data = {
        "client_id": clientId,
        "grant_type": grantType,
        "timestamp": timestamp,
        "source": source,
        "signature": get_signature(grantType, clientId, source, timestamp),  # 获取签名
        "username": username,
        "password": password,
        "lang": "cn",
        "captcha": oncaptcha(captcha_content, need_cap),  # 获取图片验证码
        "ref_source": "other_",
        "utm_source": ""
    }

   # print("**2**: " + str(data))
   # print("-" * 50)
    resp = sessiona.post('https://www.zhihu.com/api/v3/oauth/sign_in', data, headers=headers).content
   # print(BeautifulSoup(resp, 'html.parser'))

   # print("-" * 50)
    return resp


if __name__ == "__main__":
    sessiona = requests.Session()
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36',
               'authorization': 'oauth c3cef7c66a1843f8b3a9e6a1e3160e20'}

    login('你的邮箱', '你的密码', get_captcha, sessiona, headers)
    resp = sessiona.get('https://www.zhihu.com/inbox', headers=headers)  # 登录进去了,可以看私信了
   # print(BeautifulSoup(resp.content, 'html.parser'))
    resp2 = sessiona.get("https://www.zhihu.com/people/mu-yu-50-79/following", headers=headers)
    print(resp2.text)

新版知乎模拟登陆 1.Cookie和Session的区别 如果你登录知乎,填写过用户名、密码下次进来的时候不想再填写了,那么你在第一次登录后,服务器就会发送给你的浏览器一个Cookie,Cookie中包含了你的用户名、密码,下次再次发送请求给知乎的时候,浏览器会自动给请求加上Cookie,这样服务器就能知道你是谁。这就是Cookie的机制。 但是这种机制是不安全的,当你本地Cookie被别人获取后,就能直接... 阅读详情

相关推荐

Scrapy实现最新的知乎模拟登陆

最近一直在尝试使用Scrapy实现知乎的模拟登陆,终于实现了,今天在这里总结一下。 很多朋友可能知道了知乎进行了改版,特别是登录这一部分,不再使用传统的Form表单的形式,而是使用了Multipart/form-data的这种结构来提交表单数据,这就给我们模拟登陆知乎增加了不少麻烦。最近一直在尝试各种办法,后来又结合网络中其他朋友的意见,终于实现了使用Scrapy来模拟登陆知乎。 首先和之前的

Wilson_Iceman的博客 2677

最新 详解如何模拟登录知乎 英文验证码以及中文倒立字(继上篇scrapy分析知乎)

如何识别知乎验证码

DwlufveX学习博客 2354

python 用selenium模拟登陆知乎

知乎模拟登陆的一些问题 以下是我遇到的主要问题 1.request请求:F12抓包可以知道url https://www.zhihu.com/api/v3/oauth/sign_in ,但请求参数众多,第一步获取cookie就报异常,所以转换思路用了selenium。 2.selenium+Chrome:输入知乎账号密码后报miss argument grant_type的异常,有没有验证码都报...

yuan_yang的博客 1761

150讲轻松学习Python网络爬虫

【为什么学爬虫?】        1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到!        2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是:网络请求:模拟浏览器的行为从网上抓取数据。数据解析:将请求下来的数据进行过滤,提取我们想要的数据。数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是:爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求!【课程服务】 专属付费社群+定期答疑

【scrapy】模拟登陆知乎

这个网上有个通用的教程,然而为这个教程已经花费了太多时间进行调试,和知乎上的朋友交流,很多人也是这个地方遇到了问题,最后的结果。。是放弃了crawlspider。。 先贴下 这个链接。。。http://ju.outofmemory.cn/entry/105646 谨慎。。 针对上面这个教程,遇到的几点问题: 问题1:知乎的登陆url不再是/login了,根据email和phonenum分

随意的博客 2285

Python爬取网站用户手机号_主流网站 Python 爬虫模拟登陆方法汇总

欢迎关注我的公众号:高级农民工,博客:高级农民工,阅读体验更好。摘要:介绍微信、知乎、新浪等一众主流网站的模拟登陆爬取方法。网络上有形形色色的网站,不同类型的网站爬虫策略不同,难易程度也不一样。从是否需要登陆来说,一些简单网站不需要登陆就可以爬,比如之前爬过的猫眼电影、东方财富网等。有一些网站需要先登陆才能爬,比如知乎、微信等。这类网站在模拟登陆时需要处理验证码、js 加密参数这些问题,爬取难度会...

weixin_39867125的博客 3594

使用Python模拟登录知乎

环境与开发工具 在抓包的时候,开始使用的是Chrome开发工具中的Network,结果没有抓到,后来使用Fiddler成功抓取数据。下面逐步来细化上述过程。 模拟知乎登录前,先看看本次案例使用的环境及其工具: Windows 7 + Python 2.75 Chrome + Fiddler: 用来监控客户端与服务器的通讯情况,以及查找相关参数的位置。 模拟过程概述 使用Google浏览器结合Fiddler来监控客户端与服务端的通讯过程; 根据监控结果,构造请求服务器过

sixqingfeng的博客 974

Android(Java) 模拟登录知乎并抓取用户信息

博客地址 http://blog.youkuaiyun.com/sbsujjbcy/article/details/47396659

模拟登陆改版后的知乎(最新版)

今天,想着看看视频,把模拟登陆这一块学习学习,以后弄把梯子,去爬爬FaceBook什么的。就拿知乎练练手吧,可曾想,知乎竟然改版了!!之前的教程书籍对现在的知乎来说,都是扯淡,连页面都找不到了。下面一起谈谈改版后的纸糊的模拟登陆吧。 页面分析 抓包 首先,打开页面:https://www.zhihu.com/signup?next=%2F(登录网址都变了…),F12,输入账号...

BLUEHEART 4465

新版知乎模拟登录

新版知乎的模拟登录实现,只是实现了登录,并没有爬取具体的数据

Python爬虫之模拟知乎登录的方法教程

在爬虫过程中,有些页面在登录之前是被禁止抓取的,这个时候就需要模拟登陆了,下面这篇文章主要给大家介绍了利用Python爬虫模拟知乎登录的方法教程,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

模拟登陆知乎,2016/10/23可用

登录这东西,目前理解的还是比较浅,就是说想办法搞到cookie就好。最简单就是自己用浏览器登录上,从开发者工具里把cookie复制。。。 今天说的呢,既然是模拟登陆,就少不了账号密码这些环节。 首先打开知乎https://www.zhihu.com/#signin,开发者工具(博主用的360chrome),network,选中preserve log,不选的话之前的信息会被清空的。

AC_dream 666

空地多无人平台协同路径规划复现:从建模到Matlab仿真全解析

路径规划是机器人领域的核心基础技术,从单机避障到多平台协同,问题复杂度显著提升。空地协同规划融合无人机与无人车的异构优势,通过将地图分层建模为空中与地面栅格,并采用A*算法生成初始路径、B样条平滑以及改进遗传算法进行任务分配与时间同步优化,能够有效处理几何约束、运动学约束和避碰约束等。该技术广泛应用于区域巡逻、目标搜索、物资转运等任务场景,也是高校论文复现和工程仿真的常见课题。本文从问题建模、算法设计到Matlab代码结构,系统梳理了一套空地多无人平台协同路径规划的复现思路,同时给出坐标系校准、遗传算法收敛

weixin_32175665的博客 252

爬虫实战3:模拟登陆知乎并爬取任意帖子数据

​      刚学爬虫时,看到一篇文章硬核破解知乎登陆,心潮澎湃,真男人!符合我的胃口!哼哧哼哧的立刻安排!   (半个小时过后)   似乎我是弱智?很多看不懂?(百度乱搜中…)恩还有种简单的?selenium+xpath模拟登陆?简单但效率低?难道要靠用这种低效率方式来爬取数据,这是向网站妥协!不,我常威就算没技术也绝对不要这样委屈求全!(十分钟过后)挨,怎么他喵这么香?    经过一番曲...

不小心写起了程序 4533

宇树GO2-YOLOv5在Jetson Orin上的部署避坑实践

本文详细记录了在宇树GO2四足机器人搭载的Jetson Orin平台上部署YOLOv5目标检测模型的完整实践过程。文章重点分享了从ARM架构认知、网络连接解决方案、Archiconda环境搭建、PyTorch版本精准匹配到依赖安装与性能验证的核心步骤与避坑指南,旨在帮助开发者高效完成边缘计算环境下的算法部署。

app77的博客 670

Ego-Planner实战避坑指南:从环境搭建到仿真运行

本文详细介绍了在Windows系统下,通过WSL2搭建Ego-Planner无人机路径规划算法开发环境的完整流程与实战避坑指南。内容涵盖ROS Noetic安装、第三方依赖库(如Ceres Solver)编译冲突解决、Realsense SDK版本降级处理,以及Gazebo仿真与真机调试的常见问题,旨在帮助开发者高效完成环境配置并成功运行仿真。

weixin_29232507的博客 700

知乎模拟登陆

知乎模拟登陆 既然要模拟登陆知乎,那么我们就首先要知道登陆请求是发给谁的。 在知乎密码登录界面,打开开发者工具的Network,然后输入账号和错误的密码,我们可以看到它都发送了哪些请求。 看到它有一个请求发送给了sign_in,看一下它的response 是它没错了,接下来分析一下这个请求。这是一个post请求,一般post请求都会带一个formdata 很好,这个参数我们看不懂,肯定是做加密处理了,那我们现在就需要找到它的加密逻辑然后模拟出这个参数。 现在已知就只有这个sign_in,那就全局搜索一下si

weixin_42320181的博客 1686

Transformer实战(38)——视觉Transformer (Vision Transformer, ViT)

Transformer 在自然语言处理 (NLP) 领域取得了显著成就,在许多不同的任务中都表现出色。在本节中,我们将探索视觉 Transformer (Vision Transformer, ViT) 模型。正如 NLP 领域创建了多种模型一样,视觉领域也开发了多种模型,每种模型都为计算机视觉提供了新的视角。通过本节,将学习如何使用 ViT 等模型进行计算机视觉任务,了解基于 Transformer 的预训练计算机视觉模型的工作原理,以及如何针对特定任务进行微调。

盼小辉丶的博客 2939

Selenium的使用:模拟登陆爬取知乎

Selenium的使用:模拟登陆的方法使用知乎页面搜索功能搜索关键字抓取知乎问题页面及知乎专栏文章爬虫思路知识点前期准备正文小结 爬虫思路 通过知乎的搜索功能实现输入关键字搜索并将得到页面的所有数据进行存储,保存的数据如下: Problem 问题 ProblemUrl 问题的链接 ProblemTime 发布问题的时间 Author 提问人 AuthorUrl 提问人的个人主页链接 知识点 Se...

weixin_43836098的博客 2211

C#函数返回多个值实现实例

本文实例讲解C#函数返回多个值多种实现方法。

qq_30725967的博客 1170

面向企业架构师的 SAP BTP 全景实践:多云、账户、运行时与端到端开发路径

摘要:SAP BTP为企业提供多云、多运行时(Cloud Foundry/Kyma/ABAP Cloud)的数字化转型平台,支持快速构建扩展应用。关键选择包括:1)根据合规与性能选择区域;2)区分Trial(90天限制)与Free Tier(无期限)方案;3)按场景选择运行时(CF适合微服务/Kyma适合云原生/ABAP Cloud适合S/4HANA扩展)。建议优先使用Free Tier进行POC,并通过BTP Cockpit统一管理,实现从验证到生产的平滑过渡。(150字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 256

Java 爬虫模拟知乎登陆

Java 爬虫模拟知乎登陆 一、知乎登陆页面分析 1、我用的是Chrome浏览器 按F12打开开发者工具 选到NetWork 然后登陆一次观察在登陆过程中所用的URL及post了哪些参数 上传的参数如下: 2、模拟登陆知乎分为以下几步:      1)获取_xsrf      2)获取验证码 captcha      3)登陆知乎,拿到cookie     4)使用cook

www1234的博客 2730

【Pix4d精品教程】Pix4d空三后处理:点云分类与过滤、DSM精编生成DEM、生成等高线案例详解

本文详细介绍了利用Pix4D软件进行无人机摄影测量后处理的关键步骤,主要包括点云分类与分配、DEM精编生成和等高线绘制三个核心环节。首先通过点云分类区分地面、植被等7种地物类型,然后通过点云分配将地面点云归并到Ground类别,剔除植被等干扰要素。随后重新运行DSM生成步骤获取精确DEM,最后在附加输出中设置参数生成标准等高线。文中配有详细的操作截图和注意事项,如处理前需备份原始DSM/DOM数据,并解释了DEM与DSM的本质区别。该教程为无人机摄影测量内业处理提供了完整的解决方案。

智慧空间实验室 1万+

知乎最新版模拟登陆详解

知乎最新版模拟登陆详解 转载于知乎最新版模拟登陆详解,小白也能懂 以下内容仅交流学习,请勿用于非法用途 如果你现在想模拟登陆知乎,会发现 fromdata 是一串加密的字符串 ![image](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy82NDc0NTcyL...

JC_02 963

手把手教你学simulink(13.2)--构建一个单相并网逆变器Simulink仿真模型

基于Simulink的单相并网逆变器项目的详细仿真实例。这个项目将重点放在逆变器的详细建模、最大功率点跟踪(MPPT)控制策略、并网控制和仿真分析上。我们将使用MATLAB/Simulink来构建整个系统,并通过具体的代码和模块来实现各个功能。

MHD0815的博客 546

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: scrapy入门实战练习(三)----抓取AJAX异步加载网页
下一篇: python3.6安装opencv
exec1025
博客等级 码龄9年 15粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值