谷歌SEO

谷歌SEO

Products

当前位置:首页 > 谷歌SEO >

如何获取广东深圳最新的天气预报?

96SEO 2026-02-19 12:09 18


一、滑块初步分析

atob(‘aHR0cHM6Ly93d3cuemhpaHUuY29tL3NpZ25pbg’)

如何获取广东深圳最新的天气预报?

拿到网址浏览器打开网站F12打开调试工具清除cookie、storage刷新页面

在Network中找到api/v2/getconf、v3/d请求后续扣代码会用到响应结果返回的值这两个请求中只有v3/d中的d参数是需要扣代码的api/v2/getconf中的id是网站id每个网站是唯一的写固定即可

输入账号密码点击登录找到v3/b、api/v3/get请求其中v3/b请求中的d参数是需要解密的api/v3/get请求中的acToken、fp、cb等参数是需要解密的api/v3/get返回的是图片信息

验证滑块找到api/v3/check请求该请求中data、cb等参数是需要解密的验证成功validate是有值的后续登录会用到会用到响应结果中的值

根据上面分析破解滑块需要解密这些请求api/v2/getconf、v3/d、v3/b、api/v3/get、api/v3/check中的参数其中api/v2/getconf是没有加密参数的鼠标右击请求找到CopyCopy

cUrl(cmd)打开网站https://spidertools.cn/#/curl2Request把拷贝好的curl转成python代码新建

修改yiduSlider.py吧request请求替换成requestSession请求并把id参数单独拿出来点击运行yiduSlider.py请求响应成功

二、分析api/v3/get加密cb参数

新建getCb.js文件用于放扣下的js代码清除cookie、storage刷新页面随便输入账号密码登录找到api/v3/get请求从请求堆栈中找到第一个文件点击进去搜索cb:搜到的地方全部下断点

刷新滑块会进入其中一个断点而且在断点位置处会发现很多请求参数说明参数生成的的逻辑都在该文件

ast编译js文件自己随便写的ast就不贴代码了如果没有ast编译可忽略此步骤该文件加载时候后面有个时间戳是会动态改变的时间戳改变js回重新加载所以要把时间戳值固定下来找到load.min.js本地替换下搜索script:会找到时间戳赋值的地方我这里改成了1刷新页面输入账号密码登录找到api/v3/get请求会发现该文件加载是时间戳已变为1点击进去该文件右击文件名点击Override

content本地替换文件把编译好的ast代码替换该文件文件替换之后需要刷新页面刷新页面后如果滑块图片不能正常加载说明ast加载有问题如果没问题就找到之前的位置下断点

刷新滑块会进入该断点在断点处会发现cb是n2()调用生成的鼠标悬浮到n2找到该方法分析方法内部nl经过nz处理并return出去而nl是一个uuid方法生成且参数是32在return处断点并把代码拷贝到getCb.js未混肴的js鼠标悬浮到对应位置可查看具体信息

点击跳过断点会进入刚才的断点鼠标悬浮到nk[“uuid”]、nz会在找到方法方法拷贝到getCb.js并在uuid内部断点

调用getUuid(32)执行getCb.js会发现无报错如果是未经过ast转换这里是会报错函数内部经过G函数调用获取n的值虽然最上面n已赋值但是在红圈圈的地方n值又重新排序这些都是文件记载时初始化的把正确的n值、G函数拷贝到getCb.js即可

调用getCb执行getCb.js会发现报nZ的错误在nG方法内部断点

点击跳过断点会进入该断点鼠标悬浮到nZ会发现该方法是B函数调用把B拷贝到getCb.jsB方法内部基本也是经过G函数调用获取的n中的值再运行getCb.js会发现window的错误window[“encodeURIComponent”]这里可以直接使用encodeURIComponent©做替换

点击跳过断点会进入刚才的断点鼠标悬浮D找到该函数把该函数拷贝到getCb.js运行getCb.js报的其他错误说明nZ已扣成功

就这样重复运行getCb.js按照报错的提示把代码扣完即可每个函数都要点进去查看有时候可能扣到了该函数但是调用的时候可能不是该函数因为可能会在其他地方重新命名该函数要注意上下文代码

三、分析api/v3/get加密fp参数

新建getFp.js用于放扣下的代码刷新滑块找到cb断点处会发现fpnananU[“fingerprint”]鼠标悬浮nU[“fingerprint”]查看值并把cookie输出到控制台会发现取得是cookie中的gdxidpyhxdE

清除cookie刷新页面会进入油猴拦截cookie的断点点击跳过断点直到看到val有值点击跳过当前函数执行看到类似cookie的值后停下分析代码会发现gdxidpyhxdE

Go而GoGIGI的生成依赖与GYGY在上面赋值了一个空数组说明Go的生成就在GY

[]到G0

扣代码的方法和按照扣cb参数时的方法就行其中大部分都在初始化生成直接复制到getFp.js文件即可

新建acToken.js用于放扣下的js代码刷新滑块找到cb断点处在断点处的下面会看到acToken

G7而G7是由getToen方法生成鼠标悬浮getToken找到该方法

进入该方法后会看到另外getToken方法这其中传了一个参数bid、函数函数返回值T就是acTokken把值在bid在控制台输出在Network中搜索一下会发现这个值是api/v2/getconf请求响应结果那么只要分析出这个getToken方法就可以鼠标悬浮到acToken会找到该方法位置然后遇到函数就在函数处下断点直到找到真正生成acToken的位置

经过几次断点调试会发现r.prototype.ka函数函数内部的pE({C:

u,ma:

d})就是生成acToken的位置其中传的参数中的u、d是在r.prototype.ka函数内部生成的d是f布尔值fasle不用管u是kE函数生成的直接扣到js文件就行

鼠标悬浮到PE方法会找到PE函数分析里面代码会发现是return是经过OE方法调用的结果而OE参数是经过JSON.stringify转换的E把E输出到控制台会发现E里面有三个值r、b、d其中b是之前的u复制d的值在Network中搜索会发现d是v3/d请求返回的这里会发现虽然在最初传了bid参数但是在最终生成acToken中并没有用到r是固定值

修改yiduSlider.py初步验证api/v3/get请求会发现图片已经获取成功

五、分析v3/d加密d参数

清除缓存刷新页面会进入刚才的断点控制台输出r的值并复制给test

在Network中找到v3/d请求把参数复制到控制台并赋值给test1控制台输出

test

test1会发现返回true说明刚才的断点就是d参数生成的位置

清除缓存刷新页面再出进入刚才的断点分析代码会发现生成加密方法的参数传了

a.concat(r,

回调函数返回过来的把分析得代码复制到getD.js先把af()、to(!0)代码补全再去扣JE(u,

Z[8])

运行getD.js会发现报wa[h[420]][Y[75]]在f()函数内断点清除缓存刷新页面找到f()断点把wa[h[420]][Y[75]]在控制台输出会发现包含很多信息在文件内搜索productNumber会找到这个json信息赋值得地方在赋值得地方打上断点

清除缓存刷新页面会进入刚才得断点把E在控制台输出在Network中找到api/v2/getconf请求对比请求响应结果会发现E中得有些字段是请求中返回这些字段不能写死除了这些字段其他都是固定的值

o(!0)

写死就行断点调试的时候会发现里面的函数调用返回的都是固定值只不过取值的时候顺序是随机返回的把t值替换成固定的清除缓存刷新页面查看v3/d请求会发现一样可以请求成功

RE(iE,

arguments)其实是执行了iE而参数是a.concat(r,

t)合并后的数组所以只把iE扣出来就行IE函数中没什么特别注意的直接断点扣就行

JE(u,

情况类似写死就行还有一种验证方法就是取两次值排序后对比下会发现值都是一样的只是顺序不一样排序方法r.sort()

修改yiduSlider.py替换v3/d请求中的d参数会发现依然可以请求获取成功

分析api/v3/check加密cb和分析api/v3/get加密cb过程一样找到api/v3/check请求通过请求栈进入js文件搜索cb:在搜索到的地方全部打断点然后验证滑块会进入其中一个断点会发现这个cb参数和api/v3/get一样同样调用的是n2方法生成而data

G5G5ne[“data”]

在文件内搜索data:找到带有d赋值的data打断点并把JSON[“stringify”]生成的data值用赋值给window.test用于测试给位置是否是生成data的位置把之前的G5替换成window.test拖动滑块验证会进入断点到G5断点的时候在控制台把G5的值赋值给test1点击跳过断点会发现api/v3/check请求成功在控制台对比test1、window.test中d的值

JSON.parse(test1).d

会发现是一样的说明data参数就是在刚才的断点生成然后还原之前window.test代码

再次拖动滑块验证会进入data生成的断点会发现几个关键的值this[“

store][state][token]、this[traceData]、this[atomTraceData]、this[

store][state][token]、this[traceData]、this[atomTraceData]、this[jigsaw”][“style”][“left”]、this[“mouseDownCounts”]、this[“width”]其中this[“

轨迹、

store][state][token]是api/v3/ge请求响应成功中的token、this[atomTraceData]轨迹、this[traceData]是轨迹经过处理后的字符串、this[mouseDownCounts]固定值1、this[width]是图片宽、this[

store][state][token]是api/v3/ge请求响应成功中的token、this[atomTraceData]轨迹、this[traceData]是轨迹经过处理后的字符串、this[mouseDownCounts]固定值1、this[width]是图片宽、this[jigsaw”][“style”][“left”]是滑动的距离而这些值生成的地方分别在onMouseMove、onMouseMoving方法中其中轨迹可以暂时写死通过滑块距离模拟出来就行在扣代码时候会发现很多和cb一样的函数这时候可以直接在getCb.js中扣代码这里为了更好识别文件可以把getCb.js换成getCorePar.js需要注意的是扣代码时要确定已经在getCb.js扣过的函数是否和正在扣的一样如果函数名一样就要确定函数内部逻辑是否不同如果不一样需要重新命名歌函数名避免和之前的冲突

七、计算距离与轨迹

距离计算可采用PIL、opencv等库也可以自己搞个训练模型距离计算https://github.com/sml2h3/ddddocr可使用ddddocr开源库距离计算https://zhuce.jfbym.com可以使用打码平台如云码轨迹计算要模拟轨迹轨迹中包含移动距离x、鼠标上下偏移y、移动时间拖动的大概过程开始拖动的时候一般速度会很快越接近目标点会越慢而且到最后可能还有细小的移动调整在松开手的时候也许会出现停顿的情况这时候的x是一样的按照这个思路写代码即可最好能找几组验证成功的数据使用折线图表现出来更直观些时间为x轴移动的距离为y轴下面是我自己写的一个虽然轨迹虽然不是太相似但是能验证通过

import

slide.slide_match(target_bytes,

background_bytes,

模拟快到目标点时调整滑块时的轨迹一般会左右移动几下对齐elif

move_dis

get_track(260)draw_line_chart(track)八、验证结果

修改yiduSlider.py验证滑块其中dt参数是api/v2/getconf请求返回的token是每次获取验证码api/v3/get时响应返回的。

这里就不破解知乎的登录了有兴趣的可以自己尝试下



SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback