《封号码罗》python爬虫之某度翻译网站js逆向(十五)

Monica:本地化AI浏览器如何重构人机交互范式 浏览器作为人机交互的核心入口,其本质正从‘内容展示工具’演进为‘意图执行引擎’。随着大模型轻量化与网页语义理解技术突破,本地运行的AI代理开始具备实时解析DOM、结构化提取信息、自然语言驱动操作的能力。这类技术不再依赖云端推理,规避了数据上传风险,同时通过WebDOM Tokenizer、量化小模型(如TinyLlama-1.1B)和隐蔽JS注入等手段,在隐私前提下实现高精度网页自动化。它已渗透电商监控、法律条款分析、教育自适应等强场景,标志着AI交互正从‘搜索—点击—浏览’转向‘说即所做’。Monica正 阅读详情
.py
import requests
import execjs


def get_sign(word):
    with open("baidufanyi.js", "r", encoding="utf-8") as f:
        jscode = f.read()
    # https://blog.youkuaiyun.com/aobian2884/article/details/101404508/ 参考 此处jsdom安装失败
    etx = execjs.compile(jscode, cwd=r"D:\nvm\nodejs\node_modules")
    sign = etx.call("e", word)
    return sign


def request(word):
    sign = get_sign(word=word)

    url = "https://fanyi.baidu.com/v2transapi?from=en&to=zh"

    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36",
        "Cookie": 'BIDUPSID=FCA50E388F350B269B3A9569B6315917; PSTM=1603805154; REALTIME_TRANS_SWITCH=1; FANYI_WORD_SWITCH=1; SOUND_SPD_SWITCH=1; HISTORY_SWITCH=1; SOUND_PREFER_SWITCH=1; BAIDUID=CA3A89DA7EBDF8FE124E7481C1CF3E3E:FG=1; __yjs_duid=1_0fa310593a7581945ac697fd344bcc701614170238963; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BAIDUID_BFESS=B88713A0A40FE577C4275CB3134C3086": "FG=1; delPer=0; PSINO=5; H_PS_PSSID=33636_33273_31660_33595_33570_33392_33601_33714_33268; BA_HECTOR=a5al0k0hal010ga1cm1g56ph20r; BCLID=7727619048270262268; BDSFRCVID=xQLOJexroG3VC5Qe_UPCqhta3uweG7bTDYLEOwXPsp3LGJLVJeC6EG0Pts1-dEu-EHtdogKK0gOTH6KF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF=tR3aQ5rtKRTffjrnhPF32h_TXP6-hnjy3b7p5K5l5x7lVhOlMbOHDnLWbttf5q3RymJ42-39LPO2hpRjyxv4y4Ldj4oxJpOJ-bCL0p5aHl51fbbvbURvD--g3-AqBM5dtjTO2bc_5KnlfMQ_bf--QfbQ0hOhqP-jBRIE3-oJqC8-hC0m3j; BCLID_BFESS=7727619048270262268; BDSFRCVID_BFESS=xQLOJexroG3VC5Qe_UPCqhta3uweG7bTDYLEOwXPsp3LGJLVJeC6EG0Pts1-dEu-EHtdogKK0gOTH6KF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF_BFESS=tR3aQ5rtKRTffjrnhPF32h_TXP6-hnjy3b7p5K5l5x7lVhOlMbOHDnLWbttf5q3RymJ42-39LPO2hpRjyxv4y4Ldj4oxJpOJ-bCL0p5aHl51fbbvbURvD--g3-AqBM5dtjTO2bc_5KnlfMQ_bf--QfbQ0hOhqP-jBRIE3-oJqC8-hC0m3j; Hm_lvt_64ecd82404c51e03dc91cb9e8c025574=1614787306,1614787327,1615035299,1616078375; Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574=1616078375; ab_sr=1.0.0_NjcyNWMyYzAyMzFjZGNlMjVmZWIyNzA4NDExN2EzODMzNDJlN2UyMGJmODc2ODcwNTJlZmY3MTFkMjYwM2Y3OTZiOWZjZjc2N2I4YWZkMWUzZDg1NWIwZTVlZThiNTMz; __yjsv5_shitong=1.0_7_ce4125c17d0bc8d68307e2df69de79972985_300_1616078373757_49.64.60.81_9a3c0a18',
    }

    data = {
        "from": "en",
        "to": "zh",
        "query": word,
        "transtype": "realtime",
        "simple_means_flag": 3,
        # "sign": "871501.634748",
        "sign": sign,
        "token": "2a47aa16ad5a7d4e5056360f8abd7c66",
        "domain": "common",
    }
    response = requests.post(url=url, headers=headers, data=data)
    print(response.json())


if __name__ == '__main__':
    request("dog")

.js
function n(r, o) {
    for (var t = 0; t < o.length - 2; t += 3) {
        var a = o.charAt(t + 2);
        a = a >= "a" ? a.charCodeAt(0) - 87 : Number(a),
            a = "+" === o.charAt(t + 1) ? r >>> a : r << a,
            r = "+" === o.charAt(t) ? r + a & 4294967295 : r ^ a
    }
    return r
}

function e(r) {
    var i = "320305.131321201";
    var o = r.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g);
    if (null === o) {
        var t = r.length;
        t > 30 && (r = "" + r.substr(0, 10) + r.substr(Math.floor(t / 2) - 5, 10) + r.substr(-10, 10))
    } else {
        for (var e = r.split(/[\uD800-\uDBFF][\uDC00-\uDFFF]/), C = 0, h = e.length, f = []; h > C; C++)
            "" !== e[C] && f.push.apply(f, a(e[C].split(""))),
            C !== h - 1 && f.push(o[C]);
        var g = f.length;
        g > 30 && (r = f.slice(0, 10).join("") + f.slice(Math.floor(g / 2) - 5, Math.floor(g / 2) + 5).join("") + f.slice(-10).join(""))
    }
    var u = void 0
        , l = "" + String.fromCharCode(103) + String.fromCharCode(116) + String.fromCharCode(107);
    u = null !== i ? i : (i = window[l] || "") || "";
    for (var d = u.split("."), m = Number(d[0]) || 0, s = Number(d[1]) || 0, S = [], c = 0, v = 0; v < r.length; v++) {
        var A = r.charCodeAt(v);
        128 > A ? S[c++] = A : (2048 > A ? S[c++] = A >> 6 | 192 : (55296 === (64512 & A) && v + 1 < r.length && 56320 === (64512 & r.charCodeAt(v + 1)) ? (A = 65536 + ((1023 & A) << 10) + (1023 & r.charCodeAt(++v)),
            S[c++] = A >> 18 | 240,
            S[c++] = A >> 12 & 63 | 128) : S[c++] = A >> 12 | 224,
            S[c++] = A >> 6 & 63 | 128),
            S[c++] = 63 & A | 128)
    }
    for (var p = m, F = "" + String.fromCharCode(43) + String.fromCharCode(45) + String.fromCharCode(97) + ("" + String.fromCharCode(94) + String.fromCharCode(43) + String.fromCharCode(54)), D = "" + String.fromCharCode(43) + String.fromCharCode(45) + String.fromCharCode(51) + ("" + String.fromCharCode(94) + String.fromCharCode(43) + String.fromCharCode(98)) + ("" + String.fromCharCode(43) + String.fromCharCode(45) + String.fromCharCode(102)), b = 0; b < S.length; b++)
        p += S[b],
            p = n(p, F);
    return p = n(p, D),
        p ^= s,
    0 > p && (p = (2147483647 & p) + 2147483648),
        p %= 1e6,
    p.toString() + "." + (p ^ m)
}
打工人WordPress:用LLM+静态生成替代WordPress建站 静态站点生成(SSG)是一种将内容预构建为纯HTML文件的现代前端架构范式,其核心原理是分离内容、逻辑与呈现,通过构建时(build-time)而非运行时(runtime)完成动态处理。相比传统CMS如WordPress依赖数据库查询和PHP渲染,SSG具备零后端、无插件冲突、CDN友好、首屏极速等技术价值,特别适用于落地页、文档站、营销活动等内容更新频率低但性能要求高的场景。本文聚焦于将大语言模型(LLM)深度集成进SSG流程,以YAML配置驱动、JSON Schema约束输出、Jinja2模板渲染,实现 阅读详情

相关推荐

AI训练数据溯源实战:从版权侵权到模型取证的全链路指南

AI模型并非凭空生成内容,其能力根植于海量训练数据——这些数据往往未经创作者授权,隐匿于公开数据集、爬取网页与未脱敏出版物中。理解数据如何被采集、清洗、注入模型,是识别版权风险与技术滥用的前提。本文聚焦AI训练数据的可追溯性原理,解析URL哈希绕过、CLIP误判、EXIF特征留存等关键技术漏洞,并提供Robots.txt强化配置、频域隐形水印、pHash图像溯源等工程级自保手段。面向插画师、运营编辑、高校教师及普通内容创作者,覆盖从发现侵权到构建司法证据链的完整路径,尤其适用于应对Stable Diffus

299

Python爬虫实现百度翻译(手机版),详解sign的构造方法

本文作为笔记学习用: 从1.15号开始学习python通用爬虫的东西,去掉18号串亲戚,总共3天学习时长,刚学完request模块,准备去爬下百度翻译练练手,拟造一个翻译小程序给接下来的学习打打气。可是,这个程序进行的并不顺利,我在sign这个参数上卡了接近一天。下面是此参数的分析以及解决过程: 【结尾有源码】 分析过程: 尝试不同的语句翻译,判断出 sign值是不断改变的: “我爱我的祖国” s...

Caiden_Michael 3690

谷歌浏览器好用插件记录(Google插件、谷歌插件)

它可以搜索并获取与公共互联网连接的设备的元数据,如服务器、路由器、摄像头、工控设备、物联网设备等。Shodan可以提供设备的IP地址、开放端口、服务信息、协议、设备制造商、操作系统和其他有关设备的技术细节。ZoomEye可以提供设备的IP地址、开放端口、服务信息、协议、设备制造商、操作系统和其他有关设备的技术细节。DNS记录包括域名的A记录(指向IPv4地址)、AAAA记录(指向IPv6地址)、CNAME记录(指向其他域名)、MX记录(指定邮件服务器)、TXT记录(存储文本信息)等。

墨痕诉清风的博客 3105

JS逆向之百度翻译

文章目录1. 抓包分析2. sign参数分析3. 由表及里,探索sign是如何生成的4. 编写Python代码测试飞扬的少年最动人心,奔跑的时候像是穿过了光阴,加油啊! 1. 抓包分析 目标网址,百度翻译:https://fanyi.baidu.com/?aldtype=16047#auto/zh 我们打开网站,输入要翻译的数据开始抓包分析,如下: 点开请求头,看看我们需要什么样的相关的参数: 这样我们就找到了翻译接口,并且知道了请求方式是post方式,滑到最下面看看我们需要post什么参数: 2.

自成背后的博客 4461

ArcGIS基于DEM提取微流域单元(附练习数据下载)

流域作为一个相对独立的地理单元,与行政区的划分有着本质上的区别。流域的划分更注重自然因素,流域作为一个综合的自然整体,在其内部形成了一个天然的物质与能量流动的场所,并通过水流的作用,与周围的区域进行物质和能量的交换。流域的精确划分作为一个研究的基础工作,那么接下来给大家说一下利用DEM提取小流域的案例教程——以贵州省遵义市正安县为例。 1 数据获取 地理空间数据云(http://www.gscloud.cn/),数据分辨率为30m。也可直接点击这篇直接下载→全国30m90mDEM下载。 若想要获得更高精度.

qq_43173805的博客 4834

信号处理中的滤波器的阶数和谐波的理解

最近在读paper的时候,遇到了一些以前遗忘的问题,先重新查找,记录在这里,以备不时之查看。 我相信一定有小伙伴跟我有过一样的疑惑,那就是我们在使用滤波器的时候,总是遇到滤波器的阶数这个概念参数,我们很多都是根据别的paper里的设置,设置自己的科研参数,其实并不是很理解其中的含义: 其实我们常用的阶数N的意思是: 滤波器的阶数,就是指过滤谐波的次数,一般来讲,同样的滤波器,其阶

Miracle.Zhao的博客 2万+

ajax爬虫小案例(百度翻译)

Ajax加载的爬虫;爬虫思维与分析步骤;百度翻译爬虫;"errno":997,"errmsg":"\u672a\u77e5\u9519\u8bef","query":"dog","from":"en","to":"zh","error":997};抓包交互

weixin_43718742的博客 1868

2.4G跳频算法 2.4G切信道算法 (简例示意nRF52832)

2.4G跳频算法 nRF52832示例 2.4G自适应信道算法

Peter.Min 954

爬虫开发01--request模块

request模块 python中原生的一款基于网络请求的模块,功能强大,简单便捷,效率很高; 模拟浏览器发请求; 同类的比较老的模块是urllib模块; 安装:pip install --user requests request模块的编码流程 指定url 发起请求 获取响应数据 持久化存储 request实战 1、获取不带参数的get请求的响应报文 需求:爬取搜狗首页的页面数据 爬取地址:https://www.sogou.com/ 获取不带参数的get请求的响应报文..

nikeylee的博客 1420

深入理解DQN中的Q值:核心概念和应用

在强化学习中,Q值(或称为动作价值函数)是核心概念之一。Q值函数 ( Q(s, a) ) 表示在给定状态 ( s ) 下,采取动作 ( a ) 并遵循某策略后,智能体从当前状态到未来状态所能获得的预期总回报。简言之,Q值是评估特定状态和动作对的好坏的指标。

qlkaicx的博客 2975

Isaac Lab强化学习实战:用SO-ARM101机械臂实现抓取任务(附B站视频教程)

本文详细介绍了如何使用Isaac Lab强化学习框架,在SO-ARM101机械臂上实现抓取任务的完整实战流程。内容涵盖从环境搭建、奖励函数设计、训练调参到模型部署的各个环节,并分享了Sim-to-Real迁移的关键技巧,旨在帮助开发者高效完成机器人强化学习项目。

weixin_29070721的博客 1101

python (用js加密)爬取百度翻译

1.进入百度翻译页面,用f12或右键检查,点击网络(network)刷新,在输入取输入你想要翻译的内容, 再一次刷新页面

weixin_48954143的博客 1033

LaTeX小白必看:5分钟搞定GB/T 7714-2005参考文献格式(Texmaker+BibTeX实战)

本文为LaTeX初学者提供了使用Texmaker编辑器和BibTeX工具链,快速实现GB/T 7714-2005参考文献格式的实战指南。文章详细解析了从获取gbt7714-2005.bst样式文件、编写.bib数据库到四步编译流程的核心步骤,并附有常见问题解决方案,帮助用户高效、准确地完成学术论文的参考文献排版。

weixin_29295541的博客 338

JS逆向入门:四步定位动态参数并还原签名算法

在Web自动化与数据采集中,经常遇到请求参数随每次访问变化的情况。这种动态参数通常由前端脚本基于时间戳、随机数与固定密钥计算生成,本质上是客户端与服务端共享的一套签名规则。理解浏览器开发者工具中的网络请求定位、全局搜索与断点调试方法,可以准确还原签名生成逻辑。借助Python的hashlib或Node.js执行原始JavaScript,即可在脚本中复现与浏览器一致的请求参数,从而解决接口返回401或签名失效的问题。这种技术思路在爬虫开发、接口安全测试、网页自动化等场景中具有广泛的应用价值。本文以本地演示接口

weixin_30681121的博客 336

第一节:从Chat_Bot 到 AI_Agent——一个范式转换

本文系统剖析了工业级AI代理系统ClaudeCode的设计原理与工程实践。通过对比ChatBot与Agent的三个本质差异:自主循环决策vs单轮应答、环境交互vs纯文本I/O、持久状态管理vs无状态对话,揭示了构建生产级Agent系统的关键挑战。文章详细解析了ClaudeCode的五层架构设计、1800+文件组成的运行时系统,包括工具调度、权限管理、状态持久化等核心机制,并阐述了从简单API调用到完整Agent系统的演进路径。

2201_75869398的博客 67

【视频监控国标GB/T28181】无人机的视频图传技术

然而,随着无人机市场的不断发展和无人机视频图传技术的迅速进步,一些厂家正积极探索更多的传输方式。如今,一些大疆无人机已经具备了4G辅助图传功能,这意味着它们需要在无人机上安装相应的SIM卡,并在有移动互联网信号的情况下,通过互联网进行视频图传。这种技术的应用,不仅提高了无人机的操作灵活性,也使得无人机在各个领域的应用更加广泛。在使用时,用户需时刻注意无人机的飞行距离。在无人机图传系统中,OFDM技术的运用更是如虎添翼,显著增强了视频传输的品质与稳定性,尤其在错综复杂的电磁环境中,更能凸显其不可替代的优势。

开源物联网项目商业化作者 5659

Ai-Agent学习历程—— 阶段3——RAG 与记忆机制

基于学习大纲我们有了一个简单的地图,从官网的资料进行对应,主要是以下三部分过程中可以进行参考官方文档,但有一些可能会基于目前最新的资料进行适当的更改,让我们愉快的开始吧!这里为您梳理第一节:ETL 数据智能清洗与高阶分块的学习地图。本节将带您攻克数据进入向量数据库之前的“清洗、结构化解析、智能切分与父子文档关联”全流程,彻底打牢 RAG 的数据地基。以现在大模型的发展来说,200K的上下文甚至接近300K的都有,几本书是不成问题的,那切片的意义又在哪?核心原因有三个:在 RAG 系统中,用户提问后,我们不能

蓝桉 848

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

百度翻译爬虫-使用execjs库逆向解析百度翻译

本文目标破解百度翻译接口,抓取翻译结果数据 废话不多说直接开始 检查页面 使用Chrome浏览器打开百度翻译,观察界面。 右键查看源代码,发现密密麻麻全是看不懂JS代码,初步判定为是异步加载页面。 初步测试 打开开发者工具,进行抓包。 随意输入中文测试,结果如下图: 再次多输入几次单词,进行验证,结果返回类型同上 分析抓到的包 经过多个包对比,发现表单数据中的sign和token,随着单词不...

weixin_44955304的博客 699

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

《封号码罗》python爬虫之企某科技网站js逆向(十四)

首先查看ajax加载,可以发现,其所有的数据都是加密方式到前端页面,由前端页面js解密之后再渲染到网页中 根据其关键字 encrypt_data进行全局搜索,寻找js的解密代码 这个地方就是解密代码,但是这里仅仅是调用,所以要进到代码里面去查看 看到这里已经发现t已经是ajax请求过来的数据了,然后是json被返回,所以重点分析这个区域的代码,可以看到,只有a.a.decode(t)调用了t,所以这个地方需要生成两个函数,一个是s,另一个是其包含的这个函数,其他都是固定的字符串,扣下来js直接调用就行

Python_DJ的博客 2万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

《封号码罗》关于js逆向猿人学第一题m值的获取[纯补环境](二十四)

js逆向猿人学第一题,m值的获取,纯补环境

Python_DJ的博客 1万+

解决pyodbc.Error: (‘HY000‘, ‘[HY000] [Microsoft][ODBC Microsoft Access Driver]常见错误 无法打开注册表项“Temporary

经过尝试,问题主要是数据库读写权限的问题 假如需要读写的数据库存放在系统C盘,就会因为权限的问题 pyodbc.Error: ('HY000', '[HY000] [Microsoft][ODBC Microsoft Access Driver]常见错误 无法打开注册表项“Temporary (volatile) Ace DSN for process 0x1cb0 Thread 0x3dc DBC 0x38580c78 在C盘打开数据一看就行了 当把数据库复制到D盘以后 此时程序配置好路径之后就不

Python_DJ的博客 7067

记忆碎片之python线程池、submit()、done()、result()、wait()、as_completed()、map()方法

大量注释,小白一看就懂的多线程及参数使用 threadpool已经不再是主流,但是对于任务数量不断增加的程序,每有一个任务就生成一个线程,最终会导致线程数量的失控,例如,整站爬虫,假设初始只有一个链接a,那么,这个时候只启动一个线程,运行之后,得到这个链接对应页面上的b,c,d,,,等等新的链接,作为新任务,这个时候,就要为这些新的链接生成新的线程,线程数量暴涨。在之后的运行中,线程数量还会不停的...

Python_DJ的博客 6318

python自动化selenium解决click()失败的四种方案

# 单击元素 def click_item(self, element, driver=None): # login_btn.click() # 第一种方式,直接点击 # element.send_keys(Keys.ENTER) # 第二种方式,发送回车按钮 try: driver.execute_script("arguments[0].click();", element) # 第三种方式。使用JS ex

Python_DJ的博客 3427

关于js逆向某日头条参数_signature生成中jsvmp的补环境

逆向js补环境,Proxy和Reflect真香

Python_DJ的博客 3262

关于python爬虫调用js时如何实现debug的骚操作

如何在python爬虫逆向js时,方便的实现debug,即console

Python_DJ的博客 2954

关于npm install md5报错the command again as root/Administrator的解决办法

解决npm install md5保存是权限不够的问题

Python_DJ的博客 2783
上一篇: 超详细的redis常用命令锦集
下一篇: 《封号码罗》python爬虫之猿人学第三题详解:访问逻辑 - 推心置腹(十六)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值