maoliang@ 发表于 2021-3-30 20:19:54

用Python网络爬虫爬取有道受限制?

请输入需要翻译的内容:love
翻译结果:您的请求来源非法,商业用途使用请关注有道翻译API官方网站“有道智云”: http://ai.youdao.com
而且network也查不到URL

昨非 发表于 2021-3-30 20:43:09

不会啊
发一下你的代码看看

小伤口 发表于 2021-3-30 21:15:58

本帖最后由 小伤口 于 2021-3-30 21:40 编辑

你要在点击检查的时候再输入love
才会有文件嘞~
写代码时
把有道网址中的_o去掉
或者加一个请求头{:5_103:}

maoliang@ 发表于 2021-3-30 21:17:16

import urllib.request
import urllib.parse
import json

content = input("请输入需要翻译的内容:")

url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=http://www.youdao.com/"
data = {}
data['type'] = 'AUTO'
data['i'] = content
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')

response = urllib.request.urlopen(url, data)
html = response.read().decode('utf-8')
target = json.loads(html)

print("翻译结果:%s" % (target['translateResult']['tgt']))
我用360浏览器

小伤口 发表于 2021-3-31 11:25:47

maoliang@ 发表于 2021-3-30 21:17
import urllib.request
import urllib.parse
import json


甲鱼老师那个版本已经很久了,你要自己去找去写data的内容{:10_254:}

名字只有七个字 发表于 2021-3-31 13:20:13

被拦截了?

Daniel_Zhang 发表于 2021-3-31 15:12:04

headers 也不写

yayc_zcyd 发表于 2021-4-1 20:00:35

User-Agent没写

贪睡的苏简 发表于 2021-4-5 13:10:17

from urllib import request, parse
import json


def main():
    trans = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0"}
    dic = {"doctype": "json"}
    wd = input('请输入要翻译的内容: ')
    dic['i'] = wd
    data = bytes(parse.urlencode(dic), encoding='utf-8')
    q = request.Request(url=trans, data=data, headers=headers, method='POST')
    r = request.urlopen(q)
    result = json.loads(r.read().decode('utf-8'))
    print(result['translateResult']['tgt'])


if __name__ == '__main__':
    main()


以上是一个大佬的代码,侵权删
页: [1]
查看完整版本: 用Python网络爬虫爬取有道受限制?