鱼C论坛

 找回密码
 立即注册
查看: 1759|回复: 2

求大佬!!!python中爬虫与Tkinter模块结合异常问题

[复制链接]
发表于 2019-10-27 16:46:37 | 显示全部楼层 |阅读模式

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

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

x
import urllib.request
import urllib.parse
import json
from tkinter import *


x, y = 0, 0
tk = Tk()


tk.title("网易有道翻译")
tk.geometry("840x400")
tk.maxsize(840, 600)
Label(tk, text="有道翻译", font=("微软雅黑", 16)).place(x=100, y=80, anchor="w")

left = Entry(tk)
left.place(x=200, y=160, anchor="n")
var = left.get()

right = Entry(tk)
right.place(x=600, y=160, anchor="n")




url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
data = {}
data['type'] = " AUTO'"
data['i'] =var
data['doctype'] = 'json'
data[' xmlVersion'] = '1.6'
data['keyfrom'] = " fanyi.web"
data['ue'] = 'UTF-8'
data['typoResult'] = ' true'

data = urllib.parse.urlencode(data).encode("utf-8")

reponse = urllib.request.urlopen(url, data)
html = reponse.read().decode("utf-8")

target = json.loads(html)
fanyi = target["translateResult"][0][0]["tgt"]


right.insert(0,fanyi)
mainloop()


错误异常
Traceback (most recent call last):
  File "D:/python/untitled/youdao.py", line 41, in <module>
    target = json.loads(html)
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 27 (char 26)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-10-27 16:59:24 | 显示全部楼层
参考:https://blog.csdn.net/caicaiatnbu/article/details/93720392
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-28 11:47:50 | 显示全部楼层
本帖最后由 XiaoPaiShen 于 2019-10-28 11:54 编辑

代码中的youdao_translate 模块拷贝代码
使用自动下载代理,爬取有道词典
保存为youdao_translate.py, 和下面的文件放在同一个目录下,proxypool.py也放在同一个目录下。

  1. import youdao_translate as yd
  2. from tkinter import *

  3. root = Tk()

  4. root.title("网易有道翻译")
  5. root.geometry("840x400")
  6. root.maxsize(840, 600)

  7. name = Label(root, text="有道翻译", font=("微软雅黑", 16))
  8. name.place(x=100, y=80, anchor="w")

  9. left = Entry(root)
  10. left.place(x=200, y=160, anchor="n")

  11. right = Entry(root)
  12. right.place(x=600, y=160, anchor="n")

  13. def translate():
  14.     content = left.get()
  15.     trans = yd.YoudaoTran()
  16.     result = trans.translate(content)   
  17.     right.insert(0,result)   

  18. btn_translate = Button(text='翻译', command=translate)
  19. btn_translate.place(x=600, y=200, anchor="w")

  20. mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-20 08:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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