抓到post包,分析提交的表单

比较多组数据发现只有salt, lts, sign发生变化(说明页面js脚本对其加密) 下面要找到该脚本分析加密过程。因为js启动在点击“翻译”时, 说明事件与该button绑定,找到该元素用事件监听找到脚本

打开后发现有九千多行,但问题不大 , ctrl+f搜索指定文字去找变量,找变量要找到最后出现的位置,毕竟要倒退分析

salt等值成了r对象的属性再去找r, r = v.generateSaltSign(n);去找v的该方法的定义

再去找r

 找到这个小崽子开始对它分析

var r = function(e) {
        var t = n.md5(navigator.appVersion)
          , r = "" + (new Date).getTime()//时间戳要注意格式
          , i = r + parseInt(10 * Math.random(), 10);//将parseInt(10 * Math.random(), 10)扔入控制台
        return {
            ts: r,
            bv: t,  //别忘了他是定值
            salt: i,
            sign: n.md5("fanyideskweb" + e + i + "Y2FYu%TNSbMCxc3t2u^XT")//md5加密hash处理一下
        }

这在0到9中抽一个整形分析完了,扔代码。

import hashlib, js2py, aiohttp, asyncio, time, randomdef generate_formdata(word):'''ts: r = "" + (new Date).getTime(),salt: i = r + parseInt(10 * Math.random(), 10),sign: n.md5("fanyideskweb" + e + i + "Y2FYu%TNSbMCxc3t2u^XT")  e是输入的文本'''ts = str(int(time.time() * 1000))salt = ts + str(random.randint(0, 9))temp = "fanyideskweb" + word + salt + "Y2FYu%TNSbMCxc3t2u^XT"md5 = hashlib.md5()md5.update(temp.encode())sign = md5.hexdigest()formdata = {"i": word,"from": "AUTO","to": "AUTO",'smartresult': 'dict','client': 'fanyideskweb',"salt": salt,"sign": sign,"lts": ts,"bv": "c795a332c678d5063a1ee5eb15253848","doctype": "json","version": "2.1",'keyfrom': "fanyi.web",'action': 'FY_BY_REALTlME'}return formdataasync def get_ans(data):url = 'https://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'headers = {"User - Agent": "Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 95.0.4638.69Safari / 537.36","Referer": "https: // fanyi.youdao.com /"}async with aiohttp.ClientSession as session:async with session.get(url=url, headers=headers, data=data) as resp:ans =  await resp.text()print(ans)if __name__ == '__main__':words = ['dog', 'cat', 'snack', 'stack', 'mask']datas = map(generate_formdata, words)loop = asyncio.get_event_loop()for i in datas:loop.create_task(get_ans(i))loop.run_until_complete(get_ans(-1))

异步爬取有道词典(入门js逆向)相关推荐

  1. python 爬取有道词典的翻译 *渔夫版

    前言 在小甲鱼课程里学习到的python爬取有道词典的翻译,发现一些东西不是很适用于现在,网上给出的答案分为两种 一.去掉 "_o" import urllib.request i ...

  2. python爬取有道词典json报错,求帮助!

    python爬取有道词典json报错,求帮助! import urllib.request import urllib.parse import json import time import ran ...

  3. 手把手教学--Python爬取有道词典

    本篇文章做法参考了https://www.bilibili.com/video/av4050443/?p=55这个视频中的方法,并在此基础上加以修改,最终实现的结果如下: 在爬取有道词典之前,我们应该 ...

  4. python有道词典-利用Python3和Charles爬取有道词典

    一.用Charles爬取数据 Charles是一个多平台的抓包工具,可以很方便的抓取http和https数据. 1.抓取数据 抓取数据前我们首先要清楚,由于有道词典的翻译使用的是post请求,所以我们 ...

  5. 有道精品课python-Python:7行代码爬取有道词典

    家长体验分享现在英语培训机构有很多的,选择一家适合自己或孩子的英语培训机构,还是有点困难的,但是知名的也不多,abc360.兰迪英语.沪江英语.vipkid.华尔街英语等,这些机构的实力都差不多,区别 ...

  6. python爬取有道词典_利用Python3和Charles爬取有道词典,生成翻译exe单文件

    感觉挺好玩的,所以就转了,但我也做了定制化. 原文: 一.用Charles爬取数据(Windows用Fiddler也差不多) Charles是一个多平台的抓包工具,可以很方便的抓取http和https ...

  7. python爬虫有道词典_Python爬取有道词典,有道的反爬很难吗?也就这样啊!

    前言 大家好 ​ 最近python爬虫有点火啊,啥python爬取马保国视频--我也来凑个热闹,今天我们来试着做个翻译软件--不是不是,说错了,今天我们来试着提交翻译内容并爬取翻译结果 主要内容 PS ...

  8. python爬取有道词典_利用Python3和Charles爬取有道词典

    一.用Charles爬取数据 Charles是一个多平台的抓包工具,可以很方便的抓取http和https数据. 1.抓取数据 抓取数据前我们首先要清楚,由于有道词典的翻译使用的是post请求,所以我们 ...

  9. 使用python爬取有道词典翻译

    ```python```python```python import requests # 导入requests 模块 import json # 导入json# 有道里面的响应的xhr地址 # 将下 ...

最新文章

  1. this. $ refs: undefined 的解决办法
  2. 看不到日志_Kubernetes中常用的日志收集方案
  3. Lintcode132 Word Search || solution 题解
  4. socket:file descriptor exceeds limit (4096/4096)
  5. Qt中应用程序的打包与发布
  6. 面向Java应用的快速Web服务支持工具 - Netrifex
  7. 《计算机组成原理》数据传送类指令不包括( ),兰大《计算机组成原理》20秋平时作业1【标准答案】...
  8. java点击图片发出声音_Java 中图片和声音文件的加载
  9. 10 EDA技术实用教程【时序电路Verilog设计1】
  10. C++ memset()函数和bzero()函数
  11. 【标书应用场景】畅写Office为电子招投标提速赋能,助力项目招投标业务数字化转型
  12. Java线程状态与方法关系
  13. 计算机中if函数的使用方法,如何在Excel 中使用IF函数
  14. 伴随矩阵和逆矩阵的关系证明
  15. 当年南大小百合上拍古典诗词版版主的
  16. 虎胆熊威2中文版体验
  17. Linux常见英文翻译
  18. bilibili有的视频没声音解决办法
  19. AltiumDesigner中如何将原理图导成黑白色图
  20. matlab之nargin函数

热门文章

  1. BZOJ5011 [Jx2017]颜色(洛谷P4065)
  2. C语言细看从头|内存清空函数
  3. 区分微信小程序版本(开发工具中、开发版、体验版、正式版)的方法?
  4. java控制台输入 scanner_java控制台输入Scanner、InputStreamReader、Console说明
  5. 亚商投资顾问 早餐FM/0407融资余额创新高
  6. 不能与牛肉一起吃的食物
  7. ROS学习(开篇)Ubuntu16.04安装ROS Kinetic详细教程
  8. 聚观早报 | 苏宁易购入驻美团外卖;今日头条接入抖音电商
  9. SQL--Transact-SQL
  10. ADS(Advanced Design system)良率分析(Yield)、良率优化(YieldOptim)