python爬虫-有道翻译-js加密破解】的更多相关文章

有道翻译-js加密破解 这是本地爬取的网址:http://fanyi.youdao.com/ 一.分析请求 我们在页面中输入:水果,翻译后的英文就是:fruit.请求携带的参数有很多,先将参数数据保存下来,做一个记录. 我们再输入一个新的词:西瓜 i: 西瓜 from: AUTO to: AUTO smartresult: dict client: fanyideskweb salt: 15681884266087 sign: 1ea84aac4a04982f4a775f361ae30351 t…
python爬虫教程-16-破解js加密实例(有道在线翻译) 在爬虫爬取网站的时候,经常遇到一些反爬虫技术,比如: 加cookie,身份验证UserAgent 图形验证,还有很难破解的滑动验证 js签名验证,对传输数据进行加密处理 对于js加密 经过加密传输的就是密文,但是加密函数或者过程一定是在浏览器完成, 也就是一定会把js代码暴露给使用者 通过阅读加密算法,就可以模拟出加密过程,从而达到破解 怎样判断网站有没有使用js加密,很简单,例如有道在线翻译 1.打开[有道在线翻译]网页:http:…
平时在渗透测试过程中,遇到传输的数据被js加密的比较多,这里我以有道翻译为例,来分析一下它的加密参数 前言 这是有道翻译的界面,我们随便输入一个,抓包分析 我们发现返回了一段json的字符串,内容就是翻译后的内容 当我们将"i"字段'pig'改为'dog'时,再次重放就会发现返回错误 这可能就是因为post传输的其他字段的值会有所不同,其他有些字段可能被js加密了,所以,我们如果想返回正确的结果,就必须要明白前端js加密的方法是什么. 具体分析 首先我们先比较一下,当传入不同的&quo…
import urllib.request import urllib.parse import json import hashlib from datetime import datetime import re while True: d = input('translation:\n') if d == 'quit': break heads = {} heads['User-Agent'] = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_…
在爬虫过程中,经常给服务器造成压力(比如耗尽CPU,内存,带宽等),为了减少不必要的访问(比如爬虫),网页开发者就发明了反爬虫技术. 常见的反爬虫技术有封ip,user_agent,字体库,js加密,验证码(字符验证码,滑动验证码,点触式验证码等).所谓魔高一尺道高一丈.有反爬虫,就有反反爬虫技术.本文重要讲js加密的破解方法. js加密一般是在请求头或者请求参数加入加密有的字段.爬虫开发者不知道加密的方法,就能够抵挡一些低级爬虫工程师.但是js加密函数或者过程一定是在浏览器完成, 也就是一定会…
python爬虫之快速对js内容进行破解 今天介绍下数据被js加密后的破解方法.距离上次发文已经过去半个多月了,我写文章的主要目的是把从其它地方学到的东西做个记录顺便分享给大家,我承认自己是个懒猪.不知道小伙伴们有没有遇到同样的情况,公众号,博客关注了一堆,但是真正看并去学习的少之又少,希望咱们互相监督,多多交流学习哈.哎,闲话少叙,下面进入正题. 上篇文章介绍到一般js破解有两种方法,一种是用Python重写js逻辑,一种是利用第三方库来调用js内容获取结果.这两种方法各有利弊,第一种方法性能…
第一步: 模拟抓包分析加密参数 第二步: 找到加密字段 调试出来的sign和抓取得到的数据一致,都是 275626.55195 第三部: 分析js加密方法 第四部:运行js代码: 仅供交流学习使用…
登录链接:https://yunpan.360.cn/mindex/login 这是一个md5 加密算法,直接使用 md5加密即可实现 本文讲解的是如何抠出js,运行代码 第一部:抓包 如图 第二步:调试,打断点: 第三步:找到js,扣出来: 第四部:运行js文件: 附js源码: var chrsz = 8; function hex_md5(e) { return binl2hex(core_md5(str2binl(e), e.length * chrsz)) } function b64_…
最近想将一些句子翻译成不同的语言,最开始想使用Python向有道发送请求包的方式进行翻译. 这种翻译方式可行,不过只能翻译默认语言,不能选定语言,于是我研究了一下如何构造请求参数,其中有两个参数最复杂(salt 和 sign),网络上有很多人发现如何破解,不过我尝试过后发现并不能用,有道已经改版了(2018年6月改版),使用了自己定义的md5加密方式来构建sign参数. define("newweb/common/service", ["./utils", &quo…
一.个人需求 由于一直用Linux系统,对于词典的支持特别不好,对于我这英语渣渣的人来说,当看英文文档就一直卡壳,之前用惯了有道词典,感觉很不错,虽然有网页版的但是对于全站英文的网页来说并不支持.索性自己实现一个,基于Python编写的小工具实现有道词典,同时还可以将不认识的生词写入生词本中(xml格式),然后定期批量导入有道词典.沪江英语.金山词霸等.需要申请有道api 二.代码 由于程序过于简单就不再分析了,一些功能还尚在完善中.代码如下: #!/usr/bin/env python # -…
Python 使用youdao (有道翻译)API 想写一个给自己记录背单词状况的软件,需要获取英文单词的中文释义(基本功能).考虑使用有道翻译的API实现获取英文单词的中文释义的方法. 获取API_KEY 需要在 youdao 开发者站点获取API_KEY,其实获取的过程还是很容易的. 使用basicDict为基类 以前写好了一个 英文字典的基类,把API_KEY直接写到代码里面是不好的,为了做到程序与数据分离,该类实现了通过直接获取.通过URL获取和通过配置文件获取3种方式导入API_KEY…
在网上冲浪,看到了一个网站的JS加密,下面有一句话: 乍一看这句话吓一跳,我去这么猛,然后就很有兴趣想看看究竟是怎样一种加密算法. 对于破解JS加密算法的时候,都是先输入一个简单的语句然后分析加密后语句的规律,这里先输入一个简单的打印log: 代码拷出来格式化一下: var __encode = 'sojson.com', _0xb483 = ["\x5F\x64\x65\x63\x6F\x64\x65", "\x68\x74\x74\x70\x3A\x2F\x2F\x77\…
import urllib.request import urllib.parse import json while True: content = input('请输入需要翻译的内容(退出输入Q):') if content == 'Q': break else: url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=http:…
该工具主要是利用了爬虫,爬取web有道翻译的内容. 然后利用简易GUI来可视化结果. 首先我们进入有道词典的首页,并点击翻译结果的审查元素 之后request响应网页,并分析网页,定位到翻译结果. 使用tkinter来制作一个建议的GUI 期间遇到的一个问题则是如何刷新翻译的结果,否则的话会在text里一直累加翻译结果. 于是,在mainloop里面用到了T1.delete方法,来每次删除TEXT里的内容. import urllib.request import urllib.parse im…
都是作者累积的,且看其珍惜,大家可以尽量可以保存一下,如果转载请写好出处https://www.cnblogs.com/pythonywy 一.md5加密 1.简介 这是一种使用非常广泛的加密方式,不可逆的,常见16位和32位一般都是md5 import hashlib data = '你好' print(hashlib.md5(data.encode(encoding="UTF-8")).hexdigest()) #32位 print(hashlib.md5(data.encode(…
通过调用有道翻译的api,实现中译英.其他语言译中文 代码: # coding=utf-8 import urllib import urllib2 import json import time import hashlib class YouDaoFanyi: def __init__(self, appKey, appSecret): self.url = 'https://openapi.youdao.com/api/' self.headers = { "User-Agent"…
在有道翻译页面中打开开发者工具,在Headers板块找到Request URL以及相应的data. import urllib.request import urllib.parse import json content=input('请输入需要翻译的内容:') #_o要去掉,否则会出先error_code:50的报错 url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule' data={} #开发者工具…
具体实现在github上面(有详细的步骤): https://github.com/WYL-BruceLong/Spider_JS_ReverseParsin…
py2.7 #coding: utf-8 import time import random import hashlib import requests while(1): url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule&sessionFrom=' content = raw_input('输入>>>: ') s = "AUTO", l = &q…
2019年7月4日15:53:17 (¦3[▓▓] 晚安 谷歌翻译环境 Python 3.6 第三方库 Execjs (pip install PyExecJS ) 文件列表 同目录下的四个文件: - tool.py - google_translate.py - input.txt - __init__.py 主要有四个文件 1.tool.py (用来生成谷歌翻译url中的tk字段) 2.google_translate.py (用来读取中文txt文件,并翻译生成新的德语txt文件) 3.in…
目标:http://fanyi.youdao.com/ 用爬虫实现翻译功能. 利用f12查看网页Network,可以发现 有关翻译的表单请求通过  http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule 来发送 其返回是一个JSON字符串. 内部数据为要翻译的信息和被翻译的信息,参考JSON解析和正则表达式(可不用正则),对网页信息和返回请求做出很好的处理. 可参考之前的博客: JSON解析 http://www…
起因 之前挖过爬取免费代理ip的坑,一个比较帅的同事热心发我有免费代理ip的网站,遂研究了下:https://proxy.coderbusy.com/. 解密 因为之前爬过类似的网站有了些经验,大概知道这些家伙都是啥套路于是就随手ctrl+shift+c选了一下端口号: 端口元素有个奇怪的data字段,怀疑是在这个数字8781的基础上生成的8080,查看源代码看看返回的是什么样的: 果然返回的html中的数字跟页面上显示的数字不一致,基本可以确定端口号是在页面加载完成后通过js在data-i字段…
抓包软件使用的是Fiddler4 新版的查询接口 比较负责,引入了salt和sign http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&sessionFrom=http://fanyi.youdao.com/ 这里使用老版本的查询接口 http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresul…
  http://fanyi.baidu.com/?aldtype=85#en/zh/drughttp://fanyi.baidu.com/?aldtype=85#en/zh/cathttp://fanyi.baidu.com/?aldtype=85#en/zh/amoxicillin url+word # -*- coding: utf-8 -*-"""Created on Wed Mar 2 20:35:05 2016 @author: daxiong"&quo…
import requests import time def you_dao(): key = input("请输入要翻译的内容:") # key = "哈哈" # 构建url链接 # url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule' # 这里要去掉?号前面的_o,不然会进行加密算法,导致失败 url = 'http://fanyi.youdao.co…
#导入urllib包里的request请求模块import urllib.request#导入urllib包里的解析模块 import urllib.parse import json content = input("请输入需要翻译的内容:") #url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'#去掉_o否则报错:{"errorCode":50} (也…
Spider-01-爬虫介绍 Python 爬虫的知识量不是特别大,但是需要不停和网页打交道,每个网页情况都有所差异,所以对应变能力有些要求 爬虫准备工作 参考资料 精通Python爬虫框架Scrapy,人民邮电出版社 基础知识 url, http web前端,html,css,js ajax re,xpath xml python 爬虫简介 爬虫定义:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.…
鉴于好多人想学Python爬虫,缺没有简单易学的教程,我将在CSDN和大家分享Python爬虫的学习笔记,不定期更新 基础要求 Python 基础知识 Python 的基础知识,大家可以去菜鸟教程进行学习 菜鸟教程python基础 http://www.runoob.com/python/python-tutorial.html Python 高级语法 菜鸟教程python高级 http://www.runoob.com/python/python-object.html 我的爬虫笔记 Pyth…
Python爬虫编程常见问题解决方法: 1.通用的解决方案: [按住Ctrl键不送松],同时用鼠标点击[方法名],查看文档 2.TypeError: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str. 问题描述:[类型错误]就是数据的类型应该是bytes类型,而不是str类型 解决方案: data = data.encode('utf-8') 3.爬取得到的HTM…
前言 其实在以前就盯上有道翻译了的,但是由于时间问题一直没有研究(我的骚操作还在后面,记得关注),本文主要讲解如何用python调用有道翻译,讲解这个爬虫与有道翻译的js“斗争”的过程! 当然,本文仅供交流学习使用,适合自己做一些小东西娱乐,禁止用于商业用途!转载请注明微信公众号:bigsai.项目github地址:https://github.com/javasmall/python 在这里插入图片描述 分析 对于一个网站,首先肯定要的就是分析,分析其中的网页规则 分析url 进入有道翻译你会…