鱼C论坛

 找回密码
 立即注册
查看: 451|回复: 7

求大神指点下,新手谢谢

[复制链接]
发表于 2018-8-24 16:00:12 | 显示全部楼层 |阅读模式

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

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

x
# coding=utf-8
import requests
import json
import sys

class BaiduFanyi:
    def __init__(self,trans_str):
        self.trans_str = trans_str
        self.lang_detect_url = "http://fanyi.baidu.com/langdetect"
        self.trans_url = "http://fanyi.baidu.com/basetrans"
        self.headers = {"User-Agent":"Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Mobile Safari/537.36"}

    def parse_url(self,url,data): #发送post请求,获取响应
        response = requests.post(url,data=data,headers=self.headers)
        return json.loads(response.content.decode())

    def get_ret(self,dict_response):#提取翻译的结果
        ret = dict_response["trans"][0]["dst"]
        print("result is :",ret)


    def run(self):#实现主要逻辑
        #1.获取语言类型
            #1.1 准备post的url地址,post_data
        lang_detect_data = {"query":self.trans_str}
            #1.2 发送post请求,获取响应
        lang = self.parse_url(self.lang_detect_url,lang_detect_data)["lan"]
            #1.3 提取语言类型
        #2.准备post的数据
        trans_data = {"query":self.trans_str,"from":"zh","to":"en"} if lang== "zh" else \
            {"query":self.trans_str,"from":"en","to":"zh"}
        #3.发送请求,获取响应
        dict_response = self.parse_url(self.trans_url,trans_data)
        #4.提取翻译的结果
        self.get_ret(dict_response)


if __name__ == '__main__':
    trans_str= sys.argv[1]  #报错 超出范围的列表索引 有没有大佬知道的
    baidu_fanyi = BaiduFanyi(trans_str)
    baidu_fanyi.run()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-8-24 16:03:36 | 显示全部楼层
不知道是哪里变化了,求大神指点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-24 16:06:28 | 显示全部楼层
trans_str= sys.argv[0]
你的参数只有你这个Py文件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-24 16:17:07 From FishC Mobile | 显示全部楼层
你可以在cmd下
python xxx.py 我爱鱼C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-25 10:40:06 | 显示全部楼层
塔利班 发表于 2018-8-24 16:06
trans_str= sys.argv[0]
你的参数只有你这个Py文件

0也试过了,说是json的译码问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-25 10:41:17 | 显示全部楼层
焰虎 发表于 2018-8-25 10:40
0也试过了,说是json的译码问题

按你楼上的运行也可以啊,楼上的是cmd里翻译
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-25 11:15:24 | 显示全部楼层
塔利班 发表于 2018-8-25 10:41
按你楼上的运行也可以啊,楼上的是cmd里翻译

谢了大佬,道行不够,还是不咋会,后面再回来看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-25 11:15:58 | 显示全部楼层
焰虎 发表于 2018-8-25 11:15
谢了大佬,道行不够,还是不咋会,后面再回来看看

行,好好闭关修炼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-6 16:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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