爬虫之加salt加sign
2019-03-20 22:32
197 查看
import requests,json,time,random import hashlib #加密函数 def getmd5(sign): #创建md5对象 md5_obj = hashlib.md5() #对sign进行加密 md5_obj.update(bytes(sign,encoding="utf-8")) #16位加密 sign = md5_obj.hexdigest() return sign def youdao(kw): base_url = "http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule" #生成salt # date_time = time.time() # print(date_time) salt = str(int(time.time()*1000)) + str(random.randint(0,9)) #生成sign sign = "fanyideskweb" + kw + salt + "1L5ja}w$puC.v_Kz3@yYn" sign = getmd5(sign) # 定义携带的参数 data = { "i":kw, # "from":"AUTO", # "to":"AUTO", # "smartresult":"dict", "client":"fanyideskweb", "salt":salt, "sign":sign, # "ts":"1553065142622", # "bv":"9ef61dc3d2f65f61d71a16bd47c6e9ee", # "doctype":"json", # "version":"2.1", "keyfrom":"fanyi.web", # "action":"FY_BY_REALTlME", # "typoResult":"false", } #定义请求头 headers={ "Accept": "application/json, text/javascript, */*; q=0.01", "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9", "Connection": "keep-alive", "Content-Length": str(len(data)), #指的是参数的长度 "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", "Cookie": "P_INFO=m18810617317@163.com|1552353980|0|other|00&99|null&null&null#bej&null#10#0#0|188317&1||18810617317@163.com; OUTFOX_SEARCH_USER_ID=1353111487@10.169.0.84; JSESSIONID=aaa8kmg1nVzpt5tla5zMw; OUTFOX_SEARCH_USER_ID_NCOO=1137096409.8408787; ___rl__test__cookies=1553065142611", "Host": "fanyi.youdao.com", "Origin": "http://fanyi.youdao.com", "Referer": "http://fanyi.youdao.com/", "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36", "X-Requested-With": "XMLHttpRequest", } #发出请求 #如果不加headers,服务器默认是爬虫访问,会进行屏蔽 response = requests.post(base_url,data=data,headers=headers) #接收json格式的数据 json_data = response.json() print(type(json_data),json_data) # str_data = json.dumps(json_data) # print(str_data) if __name__ == '__main__': while True: kw = input("请输入需要翻译的内容:") # kw = 'java' youdao(kw) ''' 分析: i: java client: fanyideskweb salt: 15530674778150 sign: 3dacc5fe58915da9f8020348f3d440c8 keyfrom: fanyi.web salt = o.salt o = r.generateSaltSign(t); t输入的关键字
‘’’
相关文章推荐
- java 爬虫中的正则表达式(笔记)
- golang 爬虫(二)
- Python 爬虫 ip防ban
- 一个爬虫分享网站
- Java爬虫----有道翻译初步
- python爬虫最新常见面试题
- Python爬虫入门
- 一个js爬虫
- 利用爬虫爬取看看豆网站站的数据信息
- Python爬虫(二)—— 再探豆瓣Top250
- 爬虫在终端不显示日志
- Saltstack相关使用
- 小技巧-使用notepad++实时编辑salt配置文件
- python实现简单爬虫功能
- 【Java Utility】Jsoup网页爬虫工具--设置Element的HTML内容【十二】
- python利用新浪API实现数据的抓取\python微博数据爬虫
- Python爬虫入门教程 10-100 图虫网多线程爬取
- 用python爬虫抓站的一些技巧
- CnetOS 下搭建 ---Saltstack
- python 爬虫获取网页图片