张家港苏州网站建设,温州网站建设方案外包,网站建设产品服务,网站设计布局的重要性目录
1. 打开百度翻译网页#xff0c;查找翻译结果的网络资源包
2. 获取翻译结果网络资源包的url、请求头、请求体#xff0c;解析json文件数据
3. 观察请求体字段#xff0c;发现 query 字段便是我们输入的需要翻译的值
4. ctrl F 快捷键搜索sign值的网络资源包#x…目录
1. 打开百度翻译网页查找翻译结果的网络资源包
2. 获取翻译结果网络资源包的url、请求头、请求体解析json文件数据
3. 观察请求体字段发现 query 字段便是我们输入的需要翻译的值
4. ctrl F 快捷键搜索sign值的网络资源包并逐一检查
5. 拿到与请求体的结构高度相似的资源包通过资源包查看 js 代码
6. 打上断点网页重新进行翻译操作
7. 进入生成sing值的 b 函数
8. 新建 GetSign.js 文件将生成 sign 的相关函数复制进去
9. 下载能够调用 js 代码的包——PyExecJS并测试能否得到 sign 值
10. python调用获取 sign值 的 js代码并设计循环输入翻译 示例通过爬虫获取百度翻译结果的数据包实现翻译程序
注本代码仅供学习使用无任何商业用途
1. 打开百度翻译网页查找翻译结果的网络资源包
示例输入你好世界 2. 获取翻译结果网络资源包的url、请求头、请求体解析json文件数据
import requests
import jsonurl https://fanyi.baidu.com/v2transapi?fromzhtoenhead {Accept: */*,Accept-Encoding: gzip, deflate, br,Accept-Language: zh-CN,zh;q0.9,Acs-Token: 1681821543479_1681821547074_cdTRJYeqGduG6BGb1EQqooYQeVUGl4fWWVaRRFLLS9VMj1oUeo7LGHskLILBwXG5ixw3TmSgPA3eXigF/SZJvUY7ZBCSG2bHqPTeCE5vksblcieD5l2xmK/SK5Mg2mx63EqIsrlVUBsgRRzhmcvKeRiHzQ6mw8CN03KrdjAGQASyEwH418TOlmU7a9cIwDmoPRhTJnATiAn2OoJlCHDpvmWN7D92f7EQmVuBI0N8jfsvJ8rvT6So9ToY0IJQzl0U/leQ/qAv0jFStvpI6dZixZdh6aCzin9sCVKdEGgt2/LBmFE1USpx3IJBnOzRqLE7DWZu6mm5gAtWbyI2bLvWKeFA2G92Oz0iYR5fqrT8jPjyB8FbJsviypmeSFBP8AhymqOQUJS9eXYCpMBVyFiv9H2zaONxZ7pYhG4yzhWEja/wLZSgKWbb32C2wTbHPwUd7AUfsAbOilLvs7hrwW6i9V7Pp6rc,Connection: keep-alive,Content-Length: 165,Content-Type: application/x-www-form-urlencoded; charsetUTF-8,Cookie: BAIDUID0647EC4156FC828CCBB17B759524E3CB:FG1; APPGUIDE_10_0_21; REALTIME_TRANS_SWITCH1; FANYI_WORD_SWITCH1; HISTORY_SWITCH1; SOUND_SPD_SWITCH1; SOUND_PREFER_SWITCH1; BIDUPSID0647EC4156FC828CCBB17B759524E3CB; PSTM1677378660; BAIDUID_BFESS0647EC4156FC828CCBB17B759524E3CB:FG1; BA_HECTORaha124a58g81a481a184249r1i3sgie1n; ZFYjo6gNdVtZQsuvZ3s6FJsXdFdp7ChS0d1062AcKWdkuE:C; H_PS_PSSID38516_36547_38469_38368_38468_38486_37931_26350_22157; delPer0; PSINO5; BDORZB490B5EBF6F3CD402E515D22BCDA1598; BCLID7777928453825166006; BCLID_BFESS7777928453825166006; BDSFRCVID4A0OJexroG07VWbfhAjSrpnZrLweG7bTDYrEOwXPsp3LGJLVFe3JEG0Pts1-dEu-S2OOogKKKgOTHICF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; BDSFRCVID_BFESS4A0OJexroG07VWbfhAjSrpnZrLweG7bTDYrEOwXPsp3LGJLVFe3JEG0Pts1-dEu-S2OOogKKKgOTHICF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SFtRAOoC_-tDvDqTrP-trf5DCShUFstU_jB2Q-XPoO3KtbSx3Pb47NMltXKMTzbf7f5mkf3fbgy4op8P3y0bb2DUA1y4vp0tLeWeTxoUJ2-KDVeh5Gqq-KXU4ebPRiB-b9QgbA5hQ7tt5W8ncFbT7l5hKpbt-q0x-jLTnhVn0MBCK0HPonHjD5j6vL3D; H_BDCLCKID_SF_BFESStRAOoC_-tDvDqTrP-trf5DCShUFstU_jB2Q-XPoO3KtbSx3Pb47NMltXKMTzbf7f5mkf3fbgy4op8P3y0bb2DUA1y4vp0tLeWeTxoUJ2-KDVeh5Gqq-KXU4ebPRiB-b9QgbA5hQ7tt5W8ncFbT7l5hKpbt-q0x-jLTnhVn0MBCK0HPonHjD5j6vL3D; Hm_lvt_64ecd82404c51e03dc91cb9e8c0255741679997333,1681233344,1681821530; Hm_lpvt_64ecd82404c51e03dc91cb9e8c0255741681821542; ab_sr1.0.1_MWRjYzE0MDliYTg3MWQ4ZWYxNGQwNDgwNDkwNzk5YTkxNmZhYzE4MWUyM2I2NWVlY2Y2NmI4MjM4NTk4Mjk2ZGE1NmFhM2IxYzUxZDczZTAyZWQ1NTc3YzQ2M2Q5YzZiZmY5YmIyMjI5YjU5MTViNjE4MmVjZjBhYjYyZmIxNDc0NTM5YzI0OWNiMjVjZDQzOWU1ZDNmOTU5MTk0ZGZkYw,Host: fanyi.baidu.com,Origin: https://fanyi.baidu.com,Referer: https://fanyi.baidu.com/translate?aldtype16047querykeyfrombaidusmartresultdictlangauto2zh,sec-ch-ua: Chromium;v112, Google Chrome;v112, Not:A-Brand;v99,sec-ch-ua-mobile: ?0,sec-ch-ua-platform: Windows,Sec-Fetch-Dest: empty,Sec-Fetch-Mode: cors,Sec-Fetch-Site: same-origin,User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36,X-Requested-With: XMLHttpRequest
}data {from: zh,to: en,query: 你好世界,transtype: realtime,simple_means_flag: 3,sign: 1265.321472,token: 29bebf2fa756361e24b224d2c2b0151f,domain: common
}response requests.post(url, headershead, datadata)
print(response.text)
print(response.status_code)res json.loads(response.text)
val res[trans_result][data][0][dst]
print(val) 3. 观察请求体字段发现 query 字段便是我们输入的需要翻译的值 修改 query 字段里面的值进行翻译验证 出现报错信息我们重新在网页进行翻译验证观察并比较请求体信息 观察可得随着 query 的改变sign 也一起改变了sign 的值看起来并无规律所以我们接下来逆向解析js代码获取sign 4. ctrl F 快捷键搜索sign值的网络资源包并逐一检查 5. 拿到与请求体的结构高度相似的资源包通过资源包查看 js 代码 在资源包响应体response内部点击右键选择进入源代码搜索sign并找到第17个sign处发现sign的值和函数 b 以及参数 i 有关并且参数 i 的值就是 query 的值 6. 打上断点网页重新进行翻译操作 停到断点处之后点击右上角箭头调试下一步进入函数 7. 进入生成sing值的 b 函数 b 函数的代码实现原理是什么我们不关心我们需要一步步调试找到和 b 函数相关的函数有哪些然后一起复制进一个新建的 js 文件 8. 新建 GetSign.js 文件将生成 sign 的相关函数复制进去
通过调试可得相关的函数还有一个 n 函数将 n 函数与 b 函数一起复制进入GetSign.js里面
观察其他 n 函数代码格式修改函数的命名格式 9. 下载能够调用 js 代码的包——PyExecJS并测试能否得到 sign 值
# pip install PyExecJS
import execjswith open(GetSign.js, r, encodingutf-8) as f:ctx execjs.compile(f.read())sign ctx.call(GetSign, 我的世界) # 函数名 参数print(sign) 运行报错 window 未定义
在前端 js 代码查找window发现 b 函数内的 window 与 r 值相关而且是对 r 赋值 将 b 函数调试结束我们可以得到 r 的值 我们直接对 r 赋值
成功得到 sign 值 10. python调用获取 sign值 的 js代码并设计循环输入翻译
import requests
import json
import execjsurl https://fanyi.baidu.com/v2transapi?fromzhtoenhead {Accept: */*,Accept-Encoding: gzip, deflate, br,Accept-Language: zh-CN,zh;q0.9,Acs-Token: 1681821543479_1681821547074_cdTRJYeqGduG6BGb1EQqooYQeVUGl4fWWVaRRFLLS9VMj1oUeo7LGHskLILBwXG5ixw3TmSgPA3eXigF/SZJvUY7ZBCSG2bHqPTeCE5vksblcieD5l2xmK/SK5Mg2mx63EqIsrlVUBsgRRzhmcvKeRiHzQ6mw8CN03KrdjAGQASyEwH418TOlmU7a9cIwDmoPRhTJnATiAn2OoJlCHDpvmWN7D92f7EQmVuBI0N8jfsvJ8rvT6So9ToY0IJQzl0U/leQ/qAv0jFStvpI6dZixZdh6aCzin9sCVKdEGgt2/LBmFE1USpx3IJBnOzRqLE7DWZu6mm5gAtWbyI2bLvWKeFA2G92Oz0iYR5fqrT8jPjyB8FbJsviypmeSFBP8AhymqOQUJS9eXYCpMBVyFiv9H2zaONxZ7pYhG4yzhWEja/wLZSgKWbb32C2wTbHPwUd7AUfsAbOilLvs7hrwW6i9V7Pp6rc,Connection: keep-alive,Content-Length: 165,Content-Type: application/x-www-form-urlencoded; charsetUTF-8,Cookie: BAIDUID0647EC4156FC828CCBB17B759524E3CB:FG1; APPGUIDE_10_0_21; REALTIME_TRANS_SWITCH1; FANYI_WORD_SWITCH1; HISTORY_SWITCH1; SOUND_SPD_SWITCH1; SOUND_PREFER_SWITCH1; BIDUPSID0647EC4156FC828CCBB17B759524E3CB; PSTM1677378660; BAIDUID_BFESS0647EC4156FC828CCBB17B759524E3CB:FG1; BA_HECTORaha124a58g81a481a184249r1i3sgie1n; ZFYjo6gNdVtZQsuvZ3s6FJsXdFdp7ChS0d1062AcKWdkuE:C; H_PS_PSSID38516_36547_38469_38368_38468_38486_37931_26350_22157; delPer0; PSINO5; BDORZB490B5EBF6F3CD402E515D22BCDA1598; BCLID7777928453825166006; BCLID_BFESS7777928453825166006; BDSFRCVID4A0OJexroG07VWbfhAjSrpnZrLweG7bTDYrEOwXPsp3LGJLVFe3JEG0Pts1-dEu-S2OOogKKKgOTHICF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; BDSFRCVID_BFESS4A0OJexroG07VWbfhAjSrpnZrLweG7bTDYrEOwXPsp3LGJLVFe3JEG0Pts1-dEu-S2OOogKKKgOTHICF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SFtRAOoC_-tDvDqTrP-trf5DCShUFstU_jB2Q-XPoO3KtbSx3Pb47NMltXKMTzbf7f5mkf3fbgy4op8P3y0bb2DUA1y4vp0tLeWeTxoUJ2-KDVeh5Gqq-KXU4ebPRiB-b9QgbA5hQ7tt5W8ncFbT7l5hKpbt-q0x-jLTnhVn0MBCK0HPonHjD5j6vL3D; H_BDCLCKID_SF_BFESStRAOoC_-tDvDqTrP-trf5DCShUFstU_jB2Q-XPoO3KtbSx3Pb47NMltXKMTzbf7f5mkf3fbgy4op8P3y0bb2DUA1y4vp0tLeWeTxoUJ2-KDVeh5Gqq-KXU4ebPRiB-b9QgbA5hQ7tt5W8ncFbT7l5hKpbt-q0x-jLTnhVn0MBCK0HPonHjD5j6vL3D; Hm_lvt_64ecd82404c51e03dc91cb9e8c0255741679997333,1681233344,1681821530; Hm_lpvt_64ecd82404c51e03dc91cb9e8c0255741681821542; ab_sr1.0.1_MWRjYzE0MDliYTg3MWQ4ZWYxNGQwNDgwNDkwNzk5YTkxNmZhYzE4MWUyM2I2NWVlY2Y2NmI4MjM4NTk4Mjk2ZGE1NmFhM2IxYzUxZDczZTAyZWQ1NTc3YzQ2M2Q5YzZiZmY5YmIyMjI5YjU5MTViNjE4MmVjZjBhYjYyZmIxNDc0NTM5YzI0OWNiMjVjZDQzOWU1ZDNmOTU5MTk0ZGZkYw,Host: fanyi.baidu.com,Origin: https://fanyi.baidu.com,Referer: https://fanyi.baidu.com/translate?aldtype16047querykeyfrombaidusmartresultdictlangauto2zh,sec-ch-ua: Chromium;v112, Google Chrome;v112, Not:A-Brand;v99,sec-ch-ua-mobile: ?0,sec-ch-ua-platform: Windows,Sec-Fetch-Dest: empty,Sec-Fetch-Mode: cors,Sec-Fetch-Site: same-origin,User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36,X-Requested-With: XMLHttpRequest
}while True:with open(GetSign.js, r, encodingutf-8) as f:Source input(请输入被翻译文本)ctx execjs.compile(f.read())sign ctx.call(GetSign, Source)data {from: zh,to: en,query: Source,transtype: realtime,simple_means_flag: 3,sign: sign,token: 29bebf2fa756361e24b224d2c2b0151f,domain: common}response requests.post(url, headershead, datadata)# print(response.text)# print(response.status_code)res json.loads(response.text)val res[trans_result][data][0][dst]print(val) 文章转载自: http://www.morning.nzwp.cn.gov.cn.nzwp.cn http://www.morning.xnkh.cn.gov.cn.xnkh.cn http://www.morning.xqndf.cn.gov.cn.xqndf.cn http://www.morning.dqwykj.com.gov.cn.dqwykj.com http://www.morning.fhddr.cn.gov.cn.fhddr.cn http://www.morning.gxqpm.cn.gov.cn.gxqpm.cn http://www.morning.fqpgf.cn.gov.cn.fqpgf.cn http://www.morning.jncxr.cn.gov.cn.jncxr.cn http://www.morning.kwnbd.cn.gov.cn.kwnbd.cn http://www.morning.srbfz.cn.gov.cn.srbfz.cn http://www.morning.dpbgw.cn.gov.cn.dpbgw.cn http://www.morning.znknj.cn.gov.cn.znknj.cn http://www.morning.thlzt.cn.gov.cn.thlzt.cn http://www.morning.fksxs.cn.gov.cn.fksxs.cn http://www.morning.cjsnj.cn.gov.cn.cjsnj.cn http://www.morning.shprz.cn.gov.cn.shprz.cn http://www.morning.sqlh.cn.gov.cn.sqlh.cn http://www.morning.zdmlt.cn.gov.cn.zdmlt.cn http://www.morning.ltpmy.cn.gov.cn.ltpmy.cn http://www.morning.dpruuode.cn.gov.cn.dpruuode.cn http://www.morning.ntlxg.cn.gov.cn.ntlxg.cn http://www.morning.btlsb.cn.gov.cn.btlsb.cn http://www.morning.caswellintl.com.gov.cn.caswellintl.com http://www.morning.htjwz.cn.gov.cn.htjwz.cn http://www.morning.gtkyr.cn.gov.cn.gtkyr.cn http://www.morning.xsqbx.cn.gov.cn.xsqbx.cn http://www.morning.lynb.cn.gov.cn.lynb.cn http://www.morning.mbqyl.cn.gov.cn.mbqyl.cn http://www.morning.xbmwh.cn.gov.cn.xbmwh.cn http://www.morning.ssgqc.cn.gov.cn.ssgqc.cn http://www.morning.kzcfr.cn.gov.cn.kzcfr.cn http://www.morning.zcfmb.cn.gov.cn.zcfmb.cn http://www.morning.nkjpl.cn.gov.cn.nkjpl.cn http://www.morning.ntgsg.cn.gov.cn.ntgsg.cn http://www.morning.kmqjx.cn.gov.cn.kmqjx.cn http://www.morning.jtcq.cn.gov.cn.jtcq.cn http://www.morning.sbpt.cn.gov.cn.sbpt.cn http://www.morning.hqrr.cn.gov.cn.hqrr.cn http://www.morning.wjdgx.cn.gov.cn.wjdgx.cn http://www.morning.crxdn.cn.gov.cn.crxdn.cn http://www.morning.zdhxm.com.gov.cn.zdhxm.com http://www.morning.srjbs.cn.gov.cn.srjbs.cn http://www.morning.pgmbl.cn.gov.cn.pgmbl.cn http://www.morning.lktjj.cn.gov.cn.lktjj.cn http://www.morning.txkrc.cn.gov.cn.txkrc.cn http://www.morning.nrjr.cn.gov.cn.nrjr.cn http://www.morning.kttbx.cn.gov.cn.kttbx.cn http://www.morning.tkcz.cn.gov.cn.tkcz.cn http://www.morning.fbzdn.cn.gov.cn.fbzdn.cn http://www.morning.dgxrz.cn.gov.cn.dgxrz.cn http://www.morning.chfxz.cn.gov.cn.chfxz.cn http://www.morning.yqgbw.cn.gov.cn.yqgbw.cn http://www.morning.bnygf.cn.gov.cn.bnygf.cn http://www.morning.stpkz.cn.gov.cn.stpkz.cn http://www.morning.xfrqf.cn.gov.cn.xfrqf.cn http://www.morning.tnhg.cn.gov.cn.tnhg.cn http://www.morning.nkrmh.cn.gov.cn.nkrmh.cn http://www.morning.jfgmx.cn.gov.cn.jfgmx.cn http://www.morning.jmlgk.cn.gov.cn.jmlgk.cn http://www.morning.llmhq.cn.gov.cn.llmhq.cn http://www.morning.spftz.cn.gov.cn.spftz.cn http://www.morning.rghkg.cn.gov.cn.rghkg.cn http://www.morning.trfrl.cn.gov.cn.trfrl.cn http://www.morning.xyhql.cn.gov.cn.xyhql.cn http://www.morning.wlsrd.cn.gov.cn.wlsrd.cn http://www.morning.zyytn.cn.gov.cn.zyytn.cn http://www.morning.mdtfh.cn.gov.cn.mdtfh.cn http://www.morning.rqxch.cn.gov.cn.rqxch.cn http://www.morning.knryp.cn.gov.cn.knryp.cn http://www.morning.wcjk.cn.gov.cn.wcjk.cn http://www.morning.mkrqh.cn.gov.cn.mkrqh.cn http://www.morning.zcyxq.cn.gov.cn.zcyxq.cn http://www.morning.sqdjn.cn.gov.cn.sqdjn.cn http://www.morning.flxgx.cn.gov.cn.flxgx.cn http://www.morning.twfdm.cn.gov.cn.twfdm.cn http://www.morning.dlhxj.cn.gov.cn.dlhxj.cn http://www.morning.qrcxh.cn.gov.cn.qrcxh.cn http://www.morning.kxgn.cn.gov.cn.kxgn.cn http://www.morning.amonr.com.gov.cn.amonr.com http://www.morning.fwdln.cn.gov.cn.fwdln.cn