import requests, json import execjs class Baidufanyi(object): def init(self): self.url = 'https://fanyi.baidu.com/v2transapi?from=zh&to=en' self.headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36", } def indetna(self, name, shuzi): data = { "query": name, "sign": shuzi } return data def jspojie(self): name = input(str('请输入需要翻译的文字:')) sign = name print(sign) return name, sign def dmet(self, datan): resqone = requests.post(url=self.url, data=datan, headers=self.headers) dict_data = json.loads(resqone.text)["trans_result"]["data"][0]['dst'] print(dict_data) def main(self): korr = self.jspojie() konaem=self.indetna(korr) self.dmet(konaem) if name == 'main': baidu = Baidufanyi() baidu.main()
时间: 2024-04-08 20:31:42 浏览: 189
TAIEX数据:可从https://www.twse.com.tw获取Json原始数据
根据您提供的代码,您在调用`indetna()`方法时缺少了一个必需的参数`shuzi`。您需要在调用`indetna()`方法时传递两个参数,一个是`name`,另一个是`shuzi`。修改您的代码如下:
```python
def main(self):
korr = self.jspojie()
name, sign = self.jspojie() # 获取name和sign
konaem=self.indetna(name, sign) # 传递name和sign给indetna方法
self.dmet(konaem)
```
请注意,您还需要将`if name == 'main':`修改为`if __name__ == '__main__':`以确保在作为脚本直接运行时才执行`main()`方法。这样修改后的代码应该是这样的:
```python
if __name__ == '__main__':
baidu = Baidufanyi()
baidu.main()
```
这样应该可以解决您遇到的错误。请记得检查其他部分的代码是否正确无误。
阅读全文