牛逼!用 Python 登录主流网站,这个Github 13K点赞的项目火爆了!

Python 爬虫模拟登录方法汇总 摘要: 在进行爬虫时,除了常见的不用登录就能爬取的网站,还有一类需要先登录的网站。比如豆瓣、知乎,以及上一篇文章中的桔子网。这一类网站又可以分为:只需输入帐号密码、除了帐号密码还需输入或点击验证码等类型。本文以只需输入账号密码就能登录的桔子网为例,介绍模拟登录常用的 3 种方法。 POST 请求方法:需要在后台获取登录的 URL并填写请求体参数,然后 POST 请求登录,相对麻烦; 添加 Coo... 阅读详情
点上方“菜鸟学Python”,选择“星标”
450篇原创干货,第一时间送达

机器之心编辑

不论是自然语言处理还是计算机视觉,做机器学习算法总会存在数据不足的情况,而这个时候就需要我们用爬虫获取一些额外数据。这个项目介绍了如何用 Python 登录各大网站,并用简单的爬虫获取一些有用数据,目前该项目已经提供了知乎、B 站、和豆瓣等 18 个网站的登录方法。

项目地址:https://github.com/CriseLYJ/awesome-python-login-model

作者收集了一些网站的登陆方式和爬虫程序,有的通过 selenium 登录,有的则通过抓包直接模拟登录。作者希望该项目能帮助初学者学习各大网站的模拟登陆方式,并爬取一些需要的数据。

作者表示模拟登陆基本采用直接登录或者使用 selenium+webdriver 的方式,有的网站直接登录难度很大,比如 qq 空间和 bilibili 等,采用 selenium 登录相对轻松一些。虽然在登录的时候采用的是 selenium,但为了效率,我们也可以在登录后维护得到的 cookie。登录后,我们就能调用 requests 或者 scrapy 等工具进行数据采集,这样数据采集的速度可以得到保证。

目前已经完成的网站有:

如下所示,如果我们满足依赖项,那么就可以直接运行代码,它会在图虫网站中下载搜索到的图像。

如下所示为搜索「秋天」,并完成下载的图像:

每一个网站都会有对应的登录代码,有的还有数据的爬取代码。以豆瓣为例,主要的登录函数如下所示,它会获取验证码、处理验证码、返回登录数据完成登录,并最后保留 cookies。

def login():
    captcha, captcha_id = get_captcha()
    # 增加表数据
    datas[ captcha-solution ] = captcha
    datas[ captcha-id ] = captcha_id
    login_page = session.post(url, data=datas, headers=headers)
    page = login_page.text
    soup = BeautifulSoup(page, "html.parser")
    result = soup.findAll( div , attrs={ class :  title })
    #进入豆瓣登陆后页面,打印热门内容
    for item in result:
        print(item.find( a ).get_text())
    # 保存 cookies 到文件,
    # 下次可以使用 cookie 直接登录,不需要输入账号和密码
    session.cookies.save()

其中获取并解决验证码的函数如下:

def get_captcha():
       
    获取验证码及其ID
       
    r = requests.post(url, data=datas, headers=headers)
    page = r.text
    soup = BeautifulSoup(page, "html.parser")
    # 利用bs4获得验证码图片地址
    img_src = soup.find( img , { id :  captcha_image }).get( src )
    urlretrieve(img_src,  captcha.jpg )
    try:
        im = Image.open( captcha.jpg )
        im.show()
        im.close()
    except:
        print( 到本地目录打开captcha.jpg获取验证码 )
    finally:
        captcha = input( please input the captcha: )
        remove( captcha.jpg )
    captcha_id = soup.find(
         input , { type :  hidden ,  name :  captcha-id }).get( value )
    return captcha, captcha_id

当然这些都是简单的演示,在 GitHub 项目中可以找到更多的示例。此外,作者表明由于网站策略或者样式改变而导致代码失效,我们也可以提 Issue 或 Pull Requests。最后,该项目未来还会一直维护,很多东西哦也会慢慢改进,项目作者表明:

  • 项目写了一段时间后,发现代码风格、程序易用性、可扩展性、代码的可读性,都存在一定的问题,所以接下来最重要的是重构代码,让大家可以更容易的做出一些自己的小功能;

  • 如果读者觉得某个网站的登录很有代表性,可以在项目 issue 中提出;

  • 网站的登录机制有可能经常的变动,所以当现在的模拟的登录的规则不能使用的时候,请项目在 issue 中提出。


推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影

年度爆款文案

如何用Python爬取网页数据,Python爬取网页详细教程 阅读详情

相关推荐

【python实战】怎么用python自动登录优快云

目录 先上效果 页面分析 引入selenium模块及驱动 1、并将安装好的Chromedriver.exe引入到代码中 2、浏览器驱动引入 爬虫模拟登录 1、设置网址链接 2、切换到账号密码登录 3、找到用户名密码的控件ID 4、注入用户名和密码 5、模拟登录点击 成功登录优快云 先上效果 页面分析 优快云登录页面如下图 引入selenium模块及驱动 1、并将安装好的Chromedriver.exe引入到代码中 # -*- coding:utf-8 -*-

信息安全领域优质创作者|操作系统领域专家 1万+

GitHub 热门:各大网站的 Python 爬虫登录汇总

不论是自然语言处理还是计算机视觉,做机器学习算法总会存在数据不足的情况,而这个时候就需要我们用爬虫获取一些额外数据。这个项目介绍了如何用 Python 登录各大网站,并用简单的爬虫获取一些有用数据,目前该项目已经提供了知乎、B 站、和豆瓣等 18 个网站的登录方法。 项目地址:https://github.com/CriseLYJ/awesome-python-login-model 作者收集...

python学习者的博客 1258

深入浅出:UE4类型系统完整构建过程详解

UE4的类型系统是一个复杂但设计精巧的架构,它通过静态代码生成和运行时构建的完美配合,实现了强大的反射功能。理解这个过程不仅有助于解决开发中的问题,也能让你更好地利用UE4的各种高级特性。就像建造一栋大楼需要经过设计、备料、框架、装修、验收等多个阶段,UE4类型系统的构建也是一个多阶段、精细化的过程。每个阶段都有其特定的职责,共同协作完成从源代码到运行时对象的转换。

m0_45371381的博客 911

Python模拟登陆网页的三种方法

爬虫模拟网页登陆,获取网页内容

LSH1628340121的博客 2万+

VSAN 虚拟机丢失排查与恢复完整方案

VSAN虚拟机(含vCenter)显示无效 检查存储状态:登录ESXi Host Client,确认VSAN存储是否挂载。 若未挂载,通过SSH执行 手动挂载。 验证文件存在:检查虚拟机文件是否完整。 解除文件锁定:删除残留的 .lck 文件 手动注册虚拟机:强制注册虚拟机配置文件。 检查VSAN健康:验证集群节点在线、磁盘组状态正常,并测试节点间网络。 修复元数据:针对损坏对象,谨慎执行修复。 终极恢复:若数据丢失,从备份还原或联系VMware支持,提交日志

sido777的博客 2680

抖音批量取消关注神器:5行JS代码搞定,告别手动操作(附详细步骤)

本文介绍了一种利用JS脚本在抖音创作者平台批量取消关注的高效方法。通过浏览器开发者工具执行简单的JavaScript代码,即可自动化模拟点击操作,快速清理大量关注列表,告别繁琐的手动操作。文中提供了详细的步骤和核心代码,适合有一定技术基础的用户参考。

weixin_29009971的博客 596

Python自动化登录网站(图文详解)

如何快速实现网站自动化登录并且实现简单的点击和输入功能?Selenium!你值得拥有

m0_57024162的博客 1万+

NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver. 最全解决方案!详细!

真的折磨了我整整一天,从网上的资料到GPT都翻遍了,终于是解决了!以下方案希望能帮助到你们。

weixin_44124632的博客 1万+

python爬虫登录网页

爬虫登录网页是指使用爬虫程序自动模拟登录流程,获取网站的数据。 在 Python 中登录网页,需要使用第三方库如 requests、mechanicalsoup 或者 selenium 等来实现。 具体实现方法可以参考以下步骤: 导入所需库,如 requests。 使用 requests 库发送 HTTP 请求,获取登录页面的 HTML 代码。 解析 HTML 代码,找到登录表单的 action...

weixin_35756690的博客 3151

IC设计效率翻倍!Verilog-mode的AUTOWIRE/AUTOINST组合使用技巧

本文详细介绍了在Emacs的verilog-mode插件中,如何组合使用AUTOWIRE与AUTOINST功能,实现Verilog代码的智能自动化连接与维护。通过声明式编程思想,该组合能自动生成模块实例化连接和线网声明,并配合AUTO_TEMPLATE处理复杂映射,从而大幅提升IC顶层设计的效率和可靠性,减少手动连线的错误。

weixin_28826545的博客 319

YOLOv10改进,YOLOv10添加DICAM,用于水下图像增强模块,以提高朦胧水下图像的质量、对比度和色偏

在水下环境中,成像设备会出现水浑浊、光衰减、散射和颗粒问题,导致图像质量低、对比度差和彩色图像有偏差。这给使用传统视觉技术进行水下状态监测和检查带来了巨大挑战。近年来,水下图像增强因其在提高当前计算机视觉任务在水下目标检测和分割中的性能方面发挥着关键作用而受到越来越多的关注。由于主要从自然场景构建的现有方法在提高色彩丰富度和分布方面存在性能限制,作者提出了一种新颖的基于深度学习的方法,即 Deep Inception 和 Channel-wise Attention Modules (DICAM),以提高朦

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 480

编写python代码实现打开并登录网页、对网页进行点击、输入信息等操作

当我们打开一个网页进行信息搜索时,少不了要对它进行点击和输入信息等操作,有的网页还可能需要你先登录才能开始其他操作。这篇博客就带大家来了解一下如何编写一段python代码实现打开并登录网页、对网页进行点击、输入信息等操作。 0.准备工作   在开始之前,我们需要一些准备工作,一个能够编写并运行python代码的IDE(如:IDLE、PyCharm)、安装Python第三方函数库 Selenium、安装浏览器驱动。如何安装Selenium、浏览器驱动以及相应的一些介绍,这里放一个 链接 仅供大家参考,这里

运动中的石头 1万+

【Arduino 动手做】六舵机自平衡 Rotary Stewart 平台

《Arduino六舵机自平衡Rotary Stewart平台项目》 该项目展示了一个基于Arduino的六自由度Rotary Stewart平台,通过六个舵机实现动态平衡控制。设计采用激光切割框架和TAMIYA 70171套件,提供详细组装指南和开源固件(GitHub可获取)。开发者丹·罗耶分享了3D打印文件、视频演示及运动学优化需求,强调该平台可扩展应用于游戏控制(如Kerbal Space Program)或教育领域。项目链接包含完整资源包,鼓励用户参与改进并分享创作成果。该案例体现了Arduino在机

雕爷学编程 1092

Python爬虫:手把手教你采集登陆后才能看到数据!

爬虫在采集网站的过程中,部分数据价值较高的网站,会限制访客的访问行为。这种时候建议通过登录的方式,获取目标网站的cookie,然后再使用cookie配合代理IP进行数据采集分析。 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤QQ群:961562169 1 使用表单登陆 这种情况属

Python_sn的博客 1613

YOLO11训练中的过拟合识别与应对策略:讲解过拟合的表现、原因及应对方法(如数据增强、正则化、DropOut)

摘要 本文深入探讨了YOLO11目标检测模型中的过拟合问题。首先解析了过拟合的本质,即模型在训练数据上表现优异但泛化能力差的现象,并通过误差分解公式解释了其数学原理。文章详细列举了YOLO11中过拟合的具体表现,包括训练与验证指标分化、检测性能不一致性、置信度分布异常和类别检测不均衡等问题,并提供了对应的可视化诊断方法。 在原因分析部分,重点阐述了模型复杂度与数据规模不匹配、训练数据质量与分布问题以及训练策略不当三大根本原因。特别对比了YOLO11不同版本(n/s/m/l/x)的参数量和推荐最小数据量,指出

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 243

假人有限元模型

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

Python实现自动控制登录网页

最近感觉数据结构学的有点困难,一直没什么进展,下午实在学不进去了,就想随便找点其他的东西学学。想到之前一直想做一个刷课脚本,就开始查资料尝试写一下。 首先是尝试打开一个网页。 首先是安装webdriver库,然后写了一个最简单的打开百度网页的代码, from selenium import webdriver import time browser=webdriver.Chrome() browser.get("https://baidu.com/") 发现打不开,错误是“raise WebDriverE

justgo3的博客 7899

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

如何用 Python 爬取需要登录的网站?

(点击上方蓝字,快速关注我们)英文:Tzahi Vidas   编译: 伯乐在线 -   ebigear  http://python.jobbole.com/83588/最近我必须执行一项从一个需要登录的网站上爬取一些网页的操作。它没有我想象中那么简单,因此我决定为它写一个辅助教程。在本教程中,我们将从我们的bitbucket账户中爬取一个项目列表。教程中的代码可以从我的 Github 中找到。

Python开发者 3万+

使用python爬取网站数据时怎么实现自动登录网站

在使用 Python 爬取网站数据时,自动登录网站的方法有很多。常见的方法包括: 使用 requests 库发送登录请求:首先,需要使用 requests 库获取登录页面的 HTML 代码,然后从中找到登录表单的 action 地址和表单字段的 name 属性。接下来,使用 requests 库的 post 方法发送登录请求,并在请求的 data 参数中传入表单字段的 name 和对应的值。 ...

weixin_42575505的博客 1249

Python爬虫:爬取需要登录的网站(文末有视频教程)

爬虫在采集网站的过程中,部分数据价值较高的网站,会限制访客的访问行为。这种时候建议通过登录的方式,获取目标网站的cookie,然后再使用cookie配合代理IP进行数据采集分析。使用cookie登陆,服务器会认为你是一个已登陆的用户,所以就会返回给你一个已登陆的内容。因此,需要验证码的情况可以使用带验证码登陆的cookie解决。这种情况属于post请求,即先向服务器发送表单数据,服务器再将返回的cookie存入本地。千锋教育Python全套视频教程800集(完整版)Python爬虫全套视频在线学习。

关注我!带你一路 "狂飙" 到底! 9085

用 Python 登录主流网站,我们的数据爬取少不了它

虽然在登录的时候采用的是 selenium,但为了效率,我们也可以在登录后维护得到的 cookie。项目写了一段时间后,发现代码风格、程序易用性、可扩展性、代码的可读性,都存在一定的问题,所以接下来最重要的是重构代码,让大家可以更容易的做出一些自己的小功能;Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。网站的登录机制有可能经常的变动,所以当现在的模拟的登录的规则不能使用的时候,请项目在 issue 中提出。

Python栈_基的博客 721

如何用python爬取网页数据,python爬取网页详细教程

大家好,本文将围绕python怎么爬取网站所有网页展开说明,如何用python爬取网页数据是一个很多人都想弄明白的事情,想搞清楚python如何爬取网页数据需要先了解以下几个事情。

xiaoganbuaiuk的博客 5102

需要登录的网站爬虫详解

针对需要登录的网站提供可行的登录方案与接口分析技巧,帮助大家更好得提升爬虫技术。

Jesse_Kyrie的博客 4730

用 Python 登录主流网站

作者|CriseLYJ编译:机器之心(almosthuman2014)作者收集了一些网站的登陆方式和爬虫程序,有的通过 selenium 登录,有的则通过抓包直接模拟登录。作者希望...

Python小二 3382

Python爬虫学习-简单爬取网页数据

也就是说,我们爬取数据需要用到的一些定位方法只有经由bs解析后返回的内容才能使用,单纯的html文本是不具备这样的方便快捷的方法的。2.要想获得网页html内容,我们首先需要用requests库的.get()方法向该网页的服务器构造并发送一个请求。可见,我们想爬的内容首先在一个class属性为“list_left”的div标签内—>在该div标签内又可发现想爬的内容在class属性为“disease_basic”的列表元素ul标签内—>在ul标签内可以发现我们想要的内容就分别藏在几个span标签内。

weixin_42265148的博客 935
上一篇: 终于把所有的Python库,都整理出来啦!
下一篇: 罚金50亿美元!谷歌无痕模式集体诉讼仍将继续
菜鸟学Python
博客等级 码龄9年 8062粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值