鱼C论坛

 找回密码
 立即注册
查看: 2141|回复: 1

百度翻译爬虫,sign已经求出,但是仍失败url是不是错了

[复制链接]
发表于 2019-12-18 17:01:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码如下:
  1. # https://fanyi.baidu.com/v2transapi?from=zh&to=jp 在上面的url上也体现了语言
  2. import urllib.request
  3. import urllib.parse
  4. import json
  5. import execjs#js调用语句

  6. url = 'https://fanyi.baidu.com/v2transapi?from=zh&to=jp'
  7. inputStr = '我是你爸爸'

  8. #sign失败 原因是 百度鸡贼 弄一个算法 只有匹配才能
  9. with open('baidutrans.js','r',encoding = 'utf-8') as f:
  10.     jsCode = execjs.compile(f.read())
  11. sign = jsCode.call('e',inputStr)
  12. ####最难的是如何找到对应参数的js代码截断


  13. post = {'from':'zh','to': 'jp','query':inputStr,'transtype':' translang','simple_means_flag':'3',
  14. 'sign':sign,'token': 'bd59af3720c7bc03b65bf7e5d4e05adb'}
  15. postRealData = urllib.parse.urlencode(post).encode('utf-8')#将post的数据变成可传数据
  16. req = urllib.request.Request(url,data = postRealData)
  17. req.add_header('user-agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36')
  18. response = urllib.request.urlopen(req)
  19. print('头文件:\n' + str(response.getheaders()))
  20. print('状态码:' + str(response.status))
  21. print('返回的内容:\n' + response.read().decode('utf-8'))#
  22. #responseData = response.read().decode('utf-8')

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-12-19 10:08:37 | 显示全部楼层
哈哈   百度翻译其实有加密的   你这样是获取不到的   里面需要用的js反向   我有代码  可以给你看下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-21 11:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表