Python3爬虫实战【点触验证码】 — 模拟登陆bilibili

爬虫思路如下:

利用自动化爬虫工具 Selenium 模拟点击输入等操作来进行登录

分析页面,获取点触验证码的点触图片,通过将图片发送给超级鹰打码平台识别后获取坐标信息

根据超级鹰返回的数据,模拟坐标的点选,即可实现登录

一.准备工作

在开始之前,需要先注册一个超级鹰账号并申请一个软件ID,注册页面链接为:https://www.chaojiying.com/user/reg/,注册完成后需要在后台添加一个软件ID,进行充值获得积分,一般充一块钱就可以了。

二.爬虫构建

1.首先我可以到官方网站下载对应的 Python API,链接为:https://www.chaojiying.com/api-14.html ,

from selenium import webdriver
import random
from selenium.webdriver import ActionChains
from chaojiying import Chaojiying_Client
USERNAME = 'b站账号'
PASSWORD = 'b站密码'
import time
CHAOJIYING_USERNAME = '超级鹰用户名'
CHAOJIYING_PASSWORD = '超级鹰密码'
CHAOJIYING_SOFT_ID = 软件ID
CHAOJIYING_KIND = 9005 #验证码类型
browser =webdriver.Chrome()
browser.get('https://passport.bilibili.com/login')
browser.maximize_window()
user = browser.find_elements_by_css_selector('#login-username')[0]
pwd = browser.find_elements_by_css_selector('#login-passwd')[0]user.click()
time.sleep(random.random()*3)
user.send_keys(USERNAME)
pwd.click()
time.sleep(random.random()*3)
pwd.send_keys(PASSWORD)
time.sleep(random.random()*3)button = browser.find_elements_by_css_selector('#geetest-wrap > div > div.btn-box > a.btn.btn-login')[0]
button.click()
time.sleep(random.random()*3)
img_browser = browser.find_elements_by_css_selector('body > div.geetest_panel.geetest_wind > div.geetest_panel_box.geetest_no_logo.geetest_panelshowclick > div.geetest_panel_next > div > div')[0]
img_browser.screenshot('yzm.png')
img_path='yzm.png'
chaojiying = Chaojiying_Client(CHAOJIYING_USERNAME,CHAOJIYING_PASSWORD,CHAOJIYING_SOFT_ID)
im = open('yzm.png', 'rb').read()
res =chaojiying.PostPic(im,9005)
print(res)
if res['err_no']==0:pic_str = res['pic_str'].split('|')for pic in pic_str:x,y=pic.split(',')ActionChains(browser).move_to_element_with_offset(img_browser,int(x),int(y)).click().perform()time.sleep(random.random()*3)time.sleep(1)login_btn = browser.find_elements_by_css_selector('body > div.geetest_panel.geetest_wind > div.geetest_panel_box.geetest_no_logo.geetest_panelshowclick > div.geetest_panel_next > div > div > div.geetest_panel > a > div')[0]login_btn.click()
else:print('验证码识别错误')print(chaojiying,res)

python破解b站验证码实现登陆相关推荐

  1. Python破解12306图片验证码

    不知从何时起,12306的登录验证码竟然变成了按字找图,可以说是又提高了一个等次,竟然把图像识别都用上了.不过有些图片,不得不说有些变态,图片的清晰图就更别说了,明显是从网络上的图库中搬过来的. 谁知 ...

  2. python 突破b站验证码_Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能...

    写在前面 今天带给大家一个突破点选验证码的案例,利用爬虫模拟登陆哔哩哔哩,并且把一些采坑的地方给大家强调一下! 一.需求分析 模拟登陆哔哩哔哩 网站链接: https://passport.bilib ...

  3. Python破解滑块验证码算法,完美避开人机识别

    | 完美是不可能的,加个震惊!Python破解BiliBili滑块验证码,完美避开人机识别,可以有 准备工作 B站登录页 https://passport.bilibili.com/login pyt ...

  4. Python实现点选验证码识别, B站模拟登陆

    话不多说,今天就分享一下如何用Python实现点选验证码识别,小破站模拟登陆 开发环境 Python 3.8 Pycharm 2021.2 谷歌浏览器 谷歌驱动 模块使用 selenium >& ...

  5. python 爬虫抓站

    python 爬虫抓站 记录(虾米,百度,豆瓣,新浪微博) python 下用到的库,urllib, urllib2, BeautifulSoup, cookielib, mechanize, re ...

  6. Python高效实现滑块验证码自动操纵

    CDA数据分析师 出品作者:CDALevel Ⅰ 持证人岗位:数据分析师 行业:大数据 众所周知,规范性的网络爬虫可以帮助Decision-maker在低成本下获得想要的信息,不仅如此,做科研.写论文 ...

  7. tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片...

    本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...

  8. 使用python爬虫抓站的一些技巧总结:进阶篇 (转)

    本文出处:http://obmem.info/?p=753 Posted on November 23, 2010 by observer 以前写过一篇使用python爬虫抓站的一些技巧总结,总结了诸 ...

  9. 破解登录手机验证码思路

    破解登录手机验证码思路 一.思路 1.破解验证过程,然后让它不走到发送验证码这一步,直接跳到验证成功后的步骤: 2.破解验证过程,看看能否自己写出获取验证码的算法: 3.破解验证函数,同1,让它对于任 ...

  10. 前女友婚礼,python破解婚礼现场的WIFI,把名称改成了

    大家好,我是Lex 喜欢欺负超人那个Lex 擅长领域:python开发.网络安全渗透.Windows域控Exchange架构 今日重点:① python暴力拿下WiFi密码:②python拿下路由器管 ...

最新文章

  1. 用 Flask 来写个轻博客 (3) — (M)VC_连接 MySQL 和 SQLAlchemy
  2. 给你的Flex程序添加深链接和分析-其实比你想象的要简单
  3. b+树阶怎么确定_B站公布年度弹幕,这个排名我不太服气
  4. MM物料移动BW数据源介绍
  5. 如何使用XGBoost开发随机森林集成
  6. 怎么自动删除以前数据脚本_移动硬盘数据删除了怎么恢复?硬盘恢复软件分享!...
  7. 云科技网络验证源码_黑科技网络验证软件 1.52.0.0免费版
  8. 每天几道面试题SSM面试题
  9. 台达触摸屏编程软件(Scredit)官方免费版 v2.00.23
  10. html css 美化模板,通用css样式,全局css样式,css样式模板,
  11. 微信网页开发 /JS-SDK说明文档
  12. 贴片电阻封装规格及阻值标注方法
  13. 雷锋科普:联发科MT6577,国产平民双核手机的芯
  14. Cortex-A55核心板 | 瑞萨工业级G2L多核MPU
  15. 三明学院信息工程学院网络攻防大赛-初赛官方解题报告
  16. play框架使用起来(16)
  17. Buct oj 1015
  18. 云队友丨五大思维模式,决定你的人生能走多远
  19. 计算机桌面网络连接,我电脑开机进入桌面后要等近5分钟右下角才会出现网络连接图标,进而才能上网,为什么?...
  20. 智能车改舵机中值步骤_速度,舵机测试,专为舵机调中值

热门文章

  1. 85篇精彩的经典古文
  2. python gamma函数_Python 不完全伽马函数
  3. 我做过的本职之外的事情
  4. 基于HTML的旋转立方体的实现
  5. 电容滤波器和电感滤波器详解(工作原理,设计详解,典型电路图)
  6. python绘制隐含波动率曲面_如何用python计算隐含波动率
  7. halcon轮廓擦除_HALCON高级篇:轮廓处理
  8. OpenCV中的图像处理 —— 轮廓入门+轮廓特征
  9. 北京周末去哪儿 —— 香山
  10. 数字万用表判断绝缘栅场效应管的好坏