一、自动化采集数据时如何避免滑动验证的阻塞问题

在使用dy刷视频时,如果手速过快就会触发滑动验证码。一般来说,要通过滑块验证需要手动滑动或使用脚本自动滑动,但是如果我们想要自动化采集一些数据,一旦触发滑块验证,程序就会被阻塞,如果不能成功通过滑块验证,程序就会崩溃。然而,根据以往的经验,我们可以在触发滑块验证之前提前通过滑块,并将滑块数据保存下来,这样在后续采集数据时,我们就可以携带之前保存的滑块数据,避免被滑块验证阻塞。

二、如何获取滑块ID:

通过 s_v_web_id 属性或使用相应的 JavaScript 代码来生成

//使用ES6的模板字符串和解构赋值,以及更简洁的方式生成随机字符串
functioncreate_s_v_web_id() {const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';const length = chars.length;const timestamp = (newDate).getTime().toString(36);const randomChars = Array.from({ length: 36 }, (_, i) => (i === 8 || i === 13 || i === 18 || i === 23) ? '_' : (i === 14) ? '4' : chars[Math.floor(Math.random() * length)]);return`verify_${timestamp}_${randomChars.join('')}`;
}

三、如何自动化解决dy的滑块验证码?

  1. 使用s_v_web_id获取滑块图片;

  1. 识别图片缺口,获取滑动终点的x、y坐标;

  1. 生成滑动轨迹;

  1. 对滑动轨迹进行加密,生成captchaBody;

  1. 发送验证请求,使用captchaBody进行验证;

  1. 验证通过后,可以使用s_v_web_id进行后续操作。

如下代码示例:

import random
import requestsdef get_captcha(s_v_web_id):"""获取滑块图片下载地址"""url = "https://verify.snssdk.com/captcha/get"params = {"fp": s_v_web_id,"aid": "6383","os_type": "2","subtype": "slide","tmp": "1639990513276"}response = requests.get(url, params=params, verify=False).json()if response.get('code') == 200:data = response['data']img_id, img_url1, img_url2 = data['id'], data['question']['url1'], data['question']['url2']return img_id, img_url1, img_url2def get_tracks(distance, _y):"""生成滑动轨迹"""tracks = []y, v, t, current = 0, 0, 1, 0mid = distance * 3 / 4exceed = random.randint(40, 90)z = random.randint(30, 150)while current < (distance + exceed):a = 2 if current < mid / 2 else (3 if current < mid else -3)a /= 2v0 = vs = v0 * t + 0.5 * a * (t * t)current += int(s)v = v0 + a * ty += random.randint(-3, 3)z = z + random.randint(5, 10)tracks.append([min(current, (distance + exceed)), y, z])while exceed > 0:exceed -= random.randint(0, 5)y += random.randint(-3, 3)z = z + random.randint(5, 9)tracks.append([min(current, (distance + exceed)), y, z])return [{'x': x[0], 'y': _y, 'relative_time': x[2]} for x in tracks]# TODO 需要js生成captchaBody,这个代码就不方便公布了。def slide_verify(s_v_web_id, captchaBody):"""发送验证请求"""url = "https://verify.snssdk.com/captcha/verify"params = {"os_type": "2","fp": s_v_web_id,"subtype": "slide","xx-tt-dd": "qJI7ttpVdGKKbSBvYqmaf0aPo",}data = {'captchaBody': captchaBody}res = requests.post(url=url, params=params, json=data, verify=False).json()return res['message']

本文旨在分享交流有关滑块验证码的解决思路。如果存在侵权问题,请联系作者进行删除。

另外补充下:我已经完成了dy、宝、宝特价版和鱼APP的分析,并且可以进行交流。我还会补充相关文章,欢迎关注。

dy自动化采集数据滑动验证解决方案相关推荐

  1. 数据采集:如何自动化采集数据

    数据采集:如何自动化采集数据 一个数据的走势,是由多个维度影响的,收集到尽可能多的数据维度,同时保证数据的质量,才能得到高质量的数据挖掘结构 数据源分四类:开放数据源(政府.企业.高校).爬虫抓取(网 ...

  2. 08 | 数据采集:如何自动化采集数据?

    上一节中我们讲了如何对用户画像建模,而建模之前我们都要进行数据采集.数据采集是数据挖掘的基础,没有数据,挖掘也没有意义.很多时候,我们拥有多少数据源,多少数据量,以及数据质量如何,将决定我们挖掘产出的 ...

  3. 08 数据采集 - 如何自动化采集数据

    # Author:Nimo_Ding''' 数据源: 1.开放数据源政府 企业 高校 2.爬虫抓取网页 app - 例如购物评价Python爬虫三个步骤:1.requests库爬取内容2.XPath解 ...

  4. python+opencv+selenium自动化登录邮箱并解决滑动验证

    前言 大家做自动化登录时可能都遇到过滑块验证码需要手动验证的问题,这次我们就来解决他 如下:   在我们做自动化登录时,总会遇到各种奇奇怪怪的验证码,滑块验证码就是其中最常见的一种.若我们的程序自动输 ...

  5. 埋点治理埋点回归实时埋点自动化离线数据监控-公开版

    1. 埋点相关文档: 埋点涉及到的各种平台 XX平台:抓取实时埋点日志 正则平台:埋点case正则表达式 XX监控平台:关注埋点监控日报 BI埋点数据监控平台:大盘数据 XX报警平台:但暂不支持正则报 ...

  6. 埋点治理埋点回归实时埋点自动化离线数据监控

    1. 埋点相关文档: 埋点涉及到的各种平台 XX平台:抓取实时埋点日志 正则平台:埋点case正则表达式 XX监控平台:关注埋点监控日报 BI埋点数据监控平台:大盘数据 XX报警平台:但暂不支持正则报 ...

  7. 抖音滑块验证解决方案

    抖音滑动验证 滑块解耦 获取s_v_web_id 过滑块 滑块解耦 我们在刷抖音的时候,如果手速过快,就会触发滑动验证.正常过滑块的流程是触发滑块后手动滑.或者是脚本滑,如果我们想要自动化采集一些数据 ...

  8. 神策数据企业服务解决方案重磅上线,构建全新 To B 企业运营体系

    近几年,随着云计算.大数据.人工智能.5G 等新技术的发展与应用,越来越多的企业将数字化融入经营战略中去,SaaS 企业也不例外.如何利用数据的力量实现营销.产品.服务三维一体驱动 To B 运营是 ...

  9. 如何实现一平台多系统_自动化设备数据采集系统如何实现

    在企业管理信息系统中,数据采集无疑是整个系统正常运作的一个关键.对于制造型企业,生产设备的工作状况和产量数据是管理信息系统中需要了解的基础数据之一.因此自动完成生产数据采集,可避免手工信息录入方式造成 ...

最新文章

  1. Netty系列之Netty 服务端创建
  2. 编译分布式并行版caffe(Open MPI)教程
  3. WCF 第五章 并发和实例(服务行为)
  4. 阿里云徐立:面向容器和 Serverless Computing 的存储创新
  5. 显示此文稿缺少字体_打开CAD图纸后,显示缺少SHX文件?这个解决方法你一定要知道...
  6. 从percona server 5.7换到mariadb 10.2
  7. 万彩录屏服务器不稳定,万彩录屏 云服务器
  8. 创建使用 Active Directory 模式隔离用户的新 FTP 站点
  9. python判断字典,列表,元组为空的方法。
  10. 读取 [选项] 列内的默认数据的方法:
  11. MongoDB聚合运算之mapReduce函数的使用(11)
  12. Django Book 2.0 翻译
  13. 爬取贝壳租房信息存储到mongoDB
  14. Golang中使用Qt库(therecipe/qt)+QtDesigner + Goland (二) UI继承
  15. 去除firefox火狐更新提示
  16. 何为企业?何以“大而能用,大而有当”?|一点财经
  17. 电信:自娱自乐的全员揽装,让人心寒!
  18. 浅谈超融合一体机-即买即用的企业级私有云
  19. 【限时删除】一个惊艳的神器,可全网爬取各种资源......
  20. NYOJ 541 最强DE 战斗力(大数水)

热门文章

  1. 我又找到了一个破解谷歌验证码的新方案!
  2. 短短60行代码搞定鸿蒙“二维码扫描”功能!
  3. LeetCode 121 Best Time to Buy and Sell Stock(股票买入卖出的最佳时间)
  4. c语言软件对电脑配置要求高吗,请问学软件工程需要高配置的电脑吗?
  5. 卷积神经网络(Xception)动物识别
  6. 解决Android studio安装下载Gradle速度慢的问题
  7. PTS PCR DTS 详解
  8. WinRAR 压缩软件的破解方法
  9. web前端面试宝典-JavaScript生成随机字符串
  10. 【AI 交互式聊天】怎样实现财富自由??? 无需等待 Bing ChatGPT : 已经有一个免费自由使用的基于搜索结果响应的 AI 交互式聊天网站了!文中附 Perplexity 网站链接!