youdaofanyi.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. # -*- coding: utf-8 -*-
  2. # @Author: wangkun
  3. # @Time: 2023/9/11
  4. import requests
  5. import hashlib
  6. import time
  7. import random
  8. """
  9. 有道
  10. py3.6
  11. ning
  12. """
  13. """
  14. var r = function(e) {
  15. var t = n.md5(navigator.appVersion)
  16. , r = "" + (new Date).getTime()
  17. , i = r + parseInt(10 * Math.random(), 10);
  18. return {
  19. ts: r,
  20. bv: t,
  21. salt: i,
  22. sign: n.md5("fanyideskweb" + e + i + "Ygy_4c=r#e#4EX^NUGUc5")
  23. }
  24. };
  25. """
  26. def p(text):
  27. print(text)
  28. t = int(time.time() * 1000)
  29. hl = hashlib.md5()
  30. i = str(t) + str(random.randint(0, 9))
  31. str_c = "fanyideskweb" + text + i + "Ygy_4c=r#e#4EX^NUGUc5"
  32. hl.update(str_c.encode(encoding='utf-8'))
  33. sign = hl.hexdigest()
  34. bv = hashlib.md5()
  35. bv.update(
  36. '5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'
  37. .encode(encoding='utf-8'))
  38. bv = bv.hexdigest()
  39. data = {
  40. 'i': text,
  41. 'from': 'AUTO',
  42. 'to': 'AUTO',
  43. 'smartresult': 'dict',
  44. 'client': 'fanyideskweb',
  45. 'salt': i,
  46. 'sign': sign,
  47. 'lts': t,
  48. 'bv': bv,
  49. 'doctype': 'json',
  50. 'version': '2.1',
  51. 'keyfrom': 'fanyi.web',
  52. 'action': 'FY_BY_REALTlME'
  53. }
  54. print(data)
  55. return data
  56. def get_p(text):
  57. cookie = {
  58. 'OUTFOX_SEARCH_USER_ID': '-412303195@10.112.57.88',
  59. 'OUTFOX_SEARCH_USER_ID_NCOO': '257278283.1462334',
  60. '___rl__test__cookies': '{}'.format(int(time.time() * 1000))
  61. }
  62. header = {
  63. 'User-Agent': 'Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 105.0.0.0Safari / 537.36',
  64. 'Referer': 'https://fanyi.youdao.com/'
  65. }
  66. my_json = requests.post('https://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule',
  67. data=p(text), headers=header, cookies=cookie).json()
  68. print(my_json['translateResult'][0][0]['tgt'])
  69. if __name__ == '__main__':
  70. while True:
  71. str1 = input('请输入翻译的内容:')
  72. if str1 == "exit":
  73. break
  74. get_p(str1)