鱼C论坛

 找回密码
 立即注册
查看: 2470|回复: 3

[已解决]关于爬虫的问题

[复制链接]
发表于 2021-4-3 16:59:55 | 显示全部楼层 |阅读模式

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

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

x
又白白在fishc混了一个月
问题又来了
刚刚看小甲鱼的MV,学着编一下代码,但是爬到的字典是那样的
↓代码如下↓
#对应小甲鱼的0基础入门学习Python(P56)
from urllib import request
from urllib import parse
import json

temp = input('Enter you want to translation content:')
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=http://www.youdao.com/'

head = {}#设置header
head['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.63'

data = {}#设置爬虫数据
data['type']='AUTO'
data['i']=temp
data['doctype']='json'
data['xmlVersion']='1.6'
data['keyfrom']='fanyi.web'
data['ue']='UFT-8'
data['typoResult']='true'
data = parse.urlencode(data).encode('utf-8')

req = request.Request(url,data,head)#返回
response = request.urlopen(req)
html = response.read().decode('utf-8')

target = json.loads(html)
print(target)
res = target['translateResult'][0][0]['tgt']
print(res)
爬到的结果
Enter you want to translation content:你好
{'type': 'UNSUPPORTED', 'errorCode': 30, 'elapsedTime': 2, 'translateResult': [[{'src': '您的请求来源非法,商业用途使用请关注有道翻译API官方网站“有道智云”: http://ai.youdao.com', 'tgt': '您的请求来源非法,商业用途使用请关注有道翻译API官方网站“有道智云”: http://ai.youdao.com'}]]}
您的请求来源非法,商业用途使用请关注有道翻译API官方网站“有道智云”: http://ai.youdao.com
最佳答案
2021-4-3 21:33:22
供参考
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'][0][0]['tgt'])


if __name__ == '__main__':
    main()

本帖被以下淘专辑推荐:

  • · python|主题: 62, 订阅: 4
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-3 17:24:41 | 显示全部楼层
这些网页特别讨厌爬虫
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-3 21:33:22 | 显示全部楼层    本楼为最佳答案   
供参考
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'][0][0]['tgt'])


if __name__ == '__main__':
    main()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-31 15:16:13 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 21:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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