小伤口 发表于 2020-12-17 17:51:08

allearn_Python 发表于 2020-12-17 17:41
可能是我不够帅哈哈哈哈哈   哎,这随便哪里蹦出个小问题我就不会了
还是感谢你

import urllib.request
import urllib.parse
import json
i=0

print('输入0结束程序:')
while 1:
   
    while True:
      content=input('请输入需要翻译的内容:')
      if content=='':
            print('请重新输入:')
      else:
            break
            
    if content=='0':
      break
    if i==0:
      
      url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
      head={}
      head['User-Agent']='Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko'
      data={}
      data['i']=content
      data['from']='AUTO'
      data['to']='AUTO'
      data['smartresult']='dict'
      data['client']='fanyideskweb'
      data['salt']='16079142839884'
      data['sign']='7fa30595c70a9a765816fda28b64b9ac'
      data['lts']='1607914283988'
      data['bv']='4b9de992aa3d23c2999121d735e53f9c'
      data['doctype']='json'
      data['version']='2.1'
      data['keyfrom']='fanyi.web'
      data['action']='FY_BY_REALTlME'



      data=urllib.parse.urlencode(data).encode('utf-8')
      req=urllib.request.Request(url,data,head)
      response=urllib.request.urlopen(req)

      html=response.read().decode('utf-8')
      target=json.loads(html)

      print('翻译结果:%s'%(target['translateResult']["tgt"]))
      



我换了个User-Agent你再试试{:10_245:}

allearn_Python 发表于 2020-12-17 17:53:38

小伤口 发表于 2020-12-17 17:51
我换了个User-Agent你再试试

Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
============= RESTART: D:/03-其他/个人/Training Course/翻译协调标准/xin_1.py =============
输入0结束程序:
请输入需要翻译的内容:新的使用方
Traceback (most recent call last):
File "D:/03-其他/个人/Training Course/翻译协调标准/xin_1.py", line 45, in <module>
    target=json.loads(html)
File "C:\Users\Allen\AppData\Local\Programs\Python\Python38\lib\json\__init__.py", line 357, in loads
    return _default_decoder.decode(s)
File "C:\Users\Allen\AppData\Local\Programs\Python\Python38\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\Allen\AppData\Local\Programs\Python\Python38\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
>>>

还是不行{:10_250:}{:10_285:}

allearn_Python 发表于 2020-12-17 17:57:40

小伤口 发表于 2020-12-17 17:51
我换了个User-Agent你再试试

刚开始运行时候是OK的,然后我用for循环不停循环读取excel里的英文句子去翻译(大概有1000多行),然后执行了好几分钟后就报这个错误,之后换User-agent, 换data 里面的值,重新运行你发的参考程序,都不行了,一直报这个错误{:10_258:}

allearn_Python 发表于 2020-12-17 18:27:11

小伤口 发表于 2020-12-17 17:51
我换了个User-Agent你再试试

我换了个网络好了!!{:10_266:}
然后加入了延时,顺利翻译了{:10_266:}
import urllib.request
import urllib.parse
import json
import openpyxl
import time

#打开excel文件
wb = openpyxl.load_workbook('MD - Summary list of harmonised standards.xlsx')
ws = wb.active

url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
head={}
head['User-Agent']='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.4098.3 Safari/537.36'
data={}

data['i']= ''
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['salt']='16079142839884'
data['sign']='7fa30595c70a9a765816fda28b64b9ac'
data['lts']='1607914283988'
data['bv']='4b9de992aa3d23c2999121d735e53f9c'
data['doctype']='json'
data['version']='2.1'
data['keyfrom']='fanyi.web'
data['action']='FY_BY_REALTlME'

#定义翻译函数
for each_row in ws.iter_rows(min_row=2,max_row=10):
   
    data['i'] = each_row.value
    print(data['i'])
      
    data2 = urllib.parse.urlencode(data).encode('utf-8')
    req=urllib.request.Request(url,data2, head)
    response=urllib.request.urlopen(req)

    html = response.read().decode('utf-8')
    target = json.loads(html, strict=False)

    each_row.value = target['translateResult']["tgt"]
    print(each_row.value)

    time.sleep(8)
   
   

wb.save('翻译.xlsx')
   
   
      


上面是程序

Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
=========== RESTART: D:\03-其他\个人\Training Course\翻译协调标准\Translate.py ===========
Safety of machinery - General principles for design - Risk assessment and risk reduction (ISO 12100:2010)
机械安全-设计一般原则的风险评估和风险降低(ISO 12100:2010)
Safety of machinery - Basic concepts, general principles for design - Part 1: Basic terminology, methodology (ISO 12100-1:2003)
机械安全——基本概念、一般原理设计-第1部分:基本术语、方法(ISO 12100 -声学)
Safety of machinery - Basic concepts, general principles for design - Part 2: Technical principles (ISO 12100-2:2003)
机械安全-基本概念,设计一般原则-第2部分:技术原理(ISO 12100 - 2:2003)
Safety of machinery - Risk assessment - Part 1: Principles (ISO 14121-1:2007)
机械安全-风险评估-第1部分:原则(ISO 14121 - 1:2007)
Safety of machinery - Minimum gaps to avoid crushing of parts of the human body
机械安全——最小间隙避免破碎的人体的部分
Safety of machinery - Human body measurements - Part 1: Principles for determining the dimensions required for openings for whole body access into machinery
机械安全-人体测量-第1部分:原则确定所需的尺寸为全身进入机械开口
Safety of machinery - Human body measurements - Part 2: Principles for determining the dimensions required for access openings
机械安全-人体测量-第2部分:原则确定访问开口所需的尺寸
Safety of machinery - Human body measurements - Part 3: Anthropometric data
机械安全-人体测量-第3部分:人体测量数据
Safety of machinery - Two-hand control devices - Functional aspects - Principles for design
机械安全-双手控制装置功能方面为设计原则
>>>

这是执行结果。
可能是我前面访问太频繁,有道标记了我的IP吗?{:10_258:}

小伤口 发表于 2020-12-17 18:47:57

allearn_Python 发表于 2020-12-17 18:27
我换了个网络好了!!
然后加入了延时,顺利翻译了



对,本来想试一试代理IP,没弄成功{:10_266:},既然好了,那俺就放心了,共同学习{:10_297:}

allearn_Python 发表于 2020-12-17 18:59:36

小伤口 发表于 2020-12-17 18:47
对,本来想试一试代理IP,没弄成功,既然好了,那俺就放心了,共同学习

{:10_297:}谢谢

bhcqzf 发表于 2020-12-21 09:34:06

不懂帮顶

XiaoPaiShen 发表于 2020-12-21 11:22:57

看看

hlgy9918 发表于 2020-12-21 19:19:37

小白看不懂啊,,

小古比鱼 发表于 2020-12-22 12:23:24

{:10_254:}

more_ 发表于 2020-12-30 14:33:28

支持

zgwzgw 发表于 2021-1-16 11:01:14

{:7_132:}

心驰神往 发表于 2021-1-16 15:17:45

{:10_279:}
页: 1 [2]
查看完整版本: 小甲鱼爬虫课程 - 爬虫访问在线翻译