对于一个小公司的程序员或者学生党,没有太多资金的支持,所以我们一般会寻找一些免费的渠道来满足自己需求,例如我现在做爬虫需要翻译大量excel文档,谷歌翻译有google_trans_new这个包,但是翻译效果不一定好,所以还要用百度翻译来配合一下,满心欢(劳)喜(累)的逆向百度翻译的js代码,找到了生成sign的js函数(其实百度就有生成sign的js函数,但是自己找一遍还是能学到点东西),接下来开始进行翻译,一开始翻译不长的句子效果很好(建议翻译速度不要低于0.2s,太快会有的翻译不了)

import random
import timesleep_time = random.random()-0.2
if sleep_time < 0.2:sleep_time = 0.8
time.sleep(sleep_time)

但是当句子的长度大于30的时候,所有翻译的句子返回的都是error消息,翻译失败,于是开始了苦逼的找原因之旅,因为翻译的时候习惯打印sign的值,而且发生改变的参数也只有sign,所以尝试了一下发现是sign生成值不正确

难道是长句子有其他的生成函数,于是又跑去逆向js(吐血)。发现句子长度大于30会截取句子的一部分来生成sign

然后尝试修改js代码打印截取的句子和网页的js截取的句子有什么不一样。

发现python调用js代码的substr函数似乎没生效,可能是js环境的原因,既然找到了原因,那么只要稍微修改一下js的截取区间就好了

百度翻译翻译长句python调用逆向js生成的sign不正确相关推荐

  1. 百度云平台语音合成接口python调用

    百度云平台是一个功能非常强大的开放平台,平台提供了许多开放的API接口给用户,用户通过注册百度云账号就可以申请到调用API接口的密钥.同时百度云给用户提供了各种开发语言的SDK,用户可以免费下载使用. ...

  2. 关于千里马招标网知道创宇反爬虫521状态码的解决方案(python代码模拟js生成cookie _clearence值)...

    一.问题发现 近期我在做代理池的时候,发现了一种以前没有见过的反爬虫机制.当我用常规的requests.get(url)方法对目标网页进行爬取时,其返回的状态码(status_code)为521,这是 ...

  3. vue.js python_使用Python和Vue.js自动化报告过程

    vue.js python If your organization does not have a data visualization solution like Tableau or Power ...

  4. python爬虫执行js代码_爬虫之python3用execjs执行JS代码

    JS运行环境 Node.js 是Javascript语言服务器端运行环境 测试运行 测试运行JavaScript程序 微软windows操作系统:附件-命令提示符 需进入到js程序的目录下,node命 ...

  5. 一句代码生成二维码,一句代码生成条形码,批量生成二维码和条形码,步骤教学

    生产企业或者物流快递需要用到大量的二维码和条形码,但是要自行编写代码批量生成二维码或者条形码并不容易,涉及的知识面很广. Excel插件<E灵>提供了二维码接口和条形码接口,您只需要一句代 ...

  6. 用 python 调用百度翻译 v2transapi 接口

    一.获得接口 url 打开百度翻译:百度翻译 右键检查 或者 F12 打开控制台.点击网络这一项: 输入文字:哈哈,点击图中的过滤按钮,选择全部 可以看到,v2transapi?from=zh& ...

  7. 百度翻译API限量后,python调用有道翻译详解

    背景 8月1日,百度翻译API宣布"调整" 刚开始,以为是调用百度API代码出问题了,一直报错 后查,免费还有,但是从旧时不限量 改为5万字符/月,原来是"羊毛被薅光了& ...

  8. Python调用有道、百度、彩云API实现自然语言翻译

    最近做的某个项目中需要用到中英文之间的翻译,故使用 Python 编写 MachineTranslation 包,调用有道智云.彩云小译.百度的自然语言通用翻译 API. 需求 在一个 Python ...

  9. Python 调用百度翻译接口实现翻译

    小编分别写过有道,百度的翻译Demo,个人感觉有这么几个区别: 代码量:百度更简洁,有道太冗余: 是否收费:有道翻译免费,百度翻译超过一定量是要收费的,所以要验证key: 规范性:相比有道翻译,百度翻 ...

最新文章

  1. 在熊市中厚积薄发 比特币现金加大基础设施、应用程序和协议创新力度
  2. Linux运维系统工程师系列---16
  3. 【学习笔记】CO内部订单
  4. java 图形库_OpenGL开放图形java库jogamp-all-platforms.7z
  5. TurtleCoin节点搭建
  6. redhat7.3 启动系统报,A start job is running for Apply Kernel Variables的处理
  7. 面向服务的架构SOA
  8. js--小结⑥---typeof
  9. Python之web服务利器Flask生产环境部署实践【基于gunicorn部署生产环境】
  10. 如何翻滚截屏_怎么进行滚动截屏
  11. antd-select下拉框同时获取所选值id和名字属性
  12. 高清和网络电视是数字电视的希望
  13. html+css day1 如何用Mac创建html文件
  14. 舞象云出席泰华商城智慧营销系统上线发布会,问道传统百货新未来
  15. 这3个BT下载工具,可替代迅雷,总有一个适合你
  16. python pyecharts 合并地图_Python pyecharts 绘制的交通拥堵情况地图
  17. 视频剪辑工具:剪映专业版 for Mac
  18. BIO基本介绍以及使用
  19. PilotEdit Lite 14中文版
  20. Codeforces 891E. Lust 生成函数

热门文章

  1. 系统图库放大_草图库是一个设计系统
  2. 基于眨眼识别的渐冻人辅助打字系统
  3. 树莓派docker安装transmission作为下载机
  4. 【计算机网络】浏览器中的 http 请求响应过程
  5. 别用行动上的勤奋,掩盖你思想上的懒惰
  6. 安卓自定义弹幕view,实现飞屏
  7. 怎么桌面没有计算机图标,电脑桌面图标没有了怎么回事? 电脑桌面图标没有了的解决办法...
  8. android 修改 dpi_小米MAX高配|魔趣100|安卓10.0|归属地|机型修改|性能调整|稳定流畅...
  9. Linux获取当前目录
  10. c++ 内存映射文件进程间共享数据