找回密码
  注册[Register]
查看: 1283|回复: 14

[其他] 爬虫+翻译器【代码搬运工】

  [复制链接]
发表于 2020-10-30 13:05 来自手机 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

  1. import requests
  2. import json
  3. from tkinter import Tk,Button,Entry,Label,Text,END

  4. class YouDaoFanyi(object):
  5.     def __init__(self):
  6.         pass
  7.     def crawl(self,word):
  8.         url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
  9.         #使用post需要一个链接
  10.         data={'i': word,
  11.               'from': 'AUTO',
  12.               'to': 'AUTO',
  13.               'smartresult': 'dict',
  14.               'client': 'fanyideskweb',
  15.               'doctype': 'json',
  16.               'version': '2.1',
  17.               'keyfrom': 'fanyi.web',
  18.               'action': 'FY_BY_REALTIME',
  19.               'typoResult': 'false'}
  20.         #将需要post的内容,以字典的形式记录在data内。
  21.         r = requests.post(url, data)
  22.         #post需要输入两个参数,一个是刚才的链接,一个是data,返回的是一个Response对象
  23.         answer=json.loads(r.text)
  24.         #你可以自己尝试print一下r.text的内容,然后再阅读下面的代码。
  25.         result = answer['translateResult'][0][0]['tgt']
  26.         return result



  27. class Application(object):
  28.     def __init__(self):
  29.         self.window = Tk()
  30.         self.fanyi = YouDaoFanyi()


  31.         self.window.title(u'我的翻译')
  32.         #设置窗口大小和位置
  33.         self.window.geometry('310x370+500+300')
  34.         self.window.minsize(310,370)
  35.         self.window.maxsize(310,370)
  36.         #创建一个文本框
  37.         #self.entry = Entry(self.window)
  38.         #self.entry.place(x=10,y=10,width=200,height=25)
  39.         #self.entry.bind("<Key-Return>",self.submit1)
  40.         self.result_text1 = Text(self.window,background = 'azure')
  41.         # 喜欢什么背景色就在这里面找哦,但是有色差,得多试试:http://www.science.smith.edu/dftwiki/index.php/Color_Charts_for_TKinter
  42.         self.result_text1.place(x = 10,y = 5,width = 285,height = 155)
  43.         self.result_text1.bind("<Key-Return>",self.submit1)

  44.         #创建一个按钮
  45.         #为按钮添加事件
  46.         self.submit_btn = Button(self.window,text=u'翻译',command=self.submit)
  47.         self.submit_btn.place(x=205,y=165,width=35,height=25)
  48.         self.submit_btn2 = Button(self.window,text=u'清空',command = self.clean)
  49.         self.submit_btn2.place(x=250,y=165,width=35,height=25)

  50.         #翻译结果标题
  51.         self.title_label = Label(self.window,text=u'翻译结果:')
  52.         self.title_label.place(x=10,y=165)
  53.         #翻译结果

  54.         self.result_text = Text(self.window,background = 'light cyan')
  55.         self.result_text.place(x = 10,y = 190,width = 285,height = 165)
  56.         #回车翻译
  57.     def submit1(self,event):
  58.         #从输入框获取用户输入的值
  59.         content = self.result_text1.get(0.0,END).strip().replace("\n"," ")
  60.         #把这个值传送给服务器进行翻译

  61.         result = self.fanyi.crawl(content)
  62.         #将结果显示在窗口中的文本框中

  63.         self.result_text.delete(0.0,END)
  64.         self.result_text.insert(END,result)

  65.         #print(content)

  66.     def submit(self):
  67.         #从输入框获取用户输入的值
  68.         content = self.result_text1.get(0.0,END).strip().replace("\n"," ")
  69.         #把这个值传送给服务器进行翻译

  70.         result = self.fanyi.crawl(content)
  71.         #将结果显示在窗口中的文本框中

  72.         self.result_text.delete(0.0,END)
  73.         self.result_text.insert(END,result)
  74.         print(content)
  75.     #清空文本域中的内容
  76.     def clean(self):
  77.         self.result_text1.delete(0.0,END)
  78.         self.result_text.delete(0.0,END)

  79.     def run(self):
  80.         self.window.mainloop()


  81. if __name__=="__main__":
  82.     app = Application()
  83.     app.run()
复制代码

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2020-10-30 13:06 | 显示全部楼层
多谢分享多谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-10-30 13:24 | 显示全部楼层

感谢楼主的分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-10-30 13:50 | 显示全部楼层
多谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-10-30 14:38 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-10-30 15:52 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-10-30 16:01 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-10-30 16:46 | 显示全部楼层

支持楼主,谢谢分享。
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-10-30 22:32 | 显示全部楼层
6666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-10-31 00:47 | 显示全部楼层
谢谢大佬分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|大牛论坛 |我的广告

GMT+8, 2024-4-26 13:50 , Processed in 0.041478 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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