鱼C论坛

 找回密码
 立即注册
查看: 2347|回复: 8

看视屏爬虫实战,还能照猫画虎吗?是不是过期了,就是爬有道翻译

[复制链接]
发表于 2020-7-23 16:14:53 | 显示全部楼层 |阅读模式

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

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

x
有道翻译审查元素 date 里面跟视频里的都不一样了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-23 16:20:07 | 显示全部楼层
本帖最后由 sunrise085 于 2020-7-23 16:25 编辑

的确不一样了。
应该是有道更新了
我写的和小甲鱼的就不完全一样
import urllib.request
import urllib.parse
import json

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

url="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=ugc#=&sessionFrom=http://www.youdao.com"

data={}
data['i']=content
#data['from']='AUTO'
#data['to']='AUTO'
#data['smartresult']='dict'
#data['client']='fanyideskweb'
#data['salt']='15923615349312'
#data['sign']='6d92a73f864706b1d88f777eb0861b26'
#data['ts']='1592361534931'
#data['bv']='37074a7035f34bfbf10d32bb8587564a'
data['doctype']='json'
#data['version']='2.1'
#data['keyfrom']='fanyi.web'
#data['action']='FY_BY_CLICKBUTTION'
data= urllib.parse.urlencode(data).encode('utf-8')

req = urllib.request.Request(url,data)
req.add_header ('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36')

response=urllib.request.urlopen(req)
html = response.read().decode('utf-8')

target=json.loads(html)

print("翻译结果:%s"%(target['translateResult'][0][0]['tgt']))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-7-23 16:21:28 | 显示全部楼层


建议新手可以看这篇文章,一步步来,这里总结了两种爬有道的方法:

https://blog.csdn.net/Mr_blueD/article/details/90581634

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-7-23 16:59:06 | 显示全部楼层
sunrise085 发表于 2020-7-23 16:20
的确不一样了。
应该是有道更新了
我写的和小甲鱼的就不完全一样

兄弟是不是需要学后面的反爬内容啊!还有 那个print(html)为什么只出来 errro:50????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-23 17:00:32 | 显示全部楼层
zhucrokes 发表于 2020-7-23 16:59
兄弟是不是需要学后面的反爬内容啊!还有 那个print(html)为什么只出来 errro:50????

因为有道反爬了,链接中的_o 去掉就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-9 08:25:17 | 显示全部楼层
sunrise085 发表于 2020-7-23 16:20
的确不一样了。
应该是有道更新了
我写的和小甲鱼的就不完全一样

谢谢谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-9 14:59:19 | 显示全部楼层
貌似确实是这样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-21 06:12:16 | 显示全部楼层
我有源码
分享有道翻译爬虫,::

import urllib.request
import urllib.parse
import json
from time import sleep
while 1:
    url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
    data = {}
    data【'i'】 = input("输入待翻译的文字:")
    data【'from'】= 'AUTO'
    data【'to'】= 'AUTO'
    data【'smartresult'】= 'dict'
    data【'client'】= 'fanyideskweb'
    data【'salt'】= '16029936230111'
    data【'sign'】= '08714420b7b24624cdc1b9539ac3b9de'
    data【'lts'】= '1602993623011'
    data【'bv'】= 'a1cbc92f4166e300df7d5089e67d53ed'
    data【'doctype'】= 'json'
    data【'version'】= '2.1'
    data【'keyfrom'】= 'fanyi.web'
    data【'action'】= 'FY_BY_REALTlME'
    data = urllib.parse.urlencode(data).encode('utf-8')

    reponse = urllib.request.urlopen(url,data)
    html = reponse.read().decode('utf-8')
    htmls = json.loads(html)
    print(htmls【'translateResult'】【0】【0】【'src'】 + '的翻译结果是:' + htmls【'translateResult'】【0】【0】【'tgt'】)
    for i in range(0,3):
        print(f'为了防止造成服务器拥堵,请等待{3 - i}秒后继续翻译!')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-21 06:13:11 | 显示全部楼层
我有源码
分享有道翻译爬虫,::

import urllib.request
import urllib.parse
import json
from time import sleep
while 1:
    url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
    data = {}
    data【'i'】 = input("输入待翻译的文字:")
    data【'from'】= 'AUTO'
    data【'to'】= 'AUTO'
    data【'smartresult'】= 'dict'
    data【'client'】= 'fanyideskweb'
    data【'salt'】= '16029936230111'
    data【'sign'】= '08714420b7b24624cdc1b9539ac3b9de'
    data【'lts'】= '1602993623011'
    data【'bv'】= 'a1cbc92f4166e300df7d5089e67d53ed'
    data【'doctype'】= 'json'
    data【'version'】= '2.1'
    data【'keyfrom'】= 'fanyi.web'
    data【'action'】= 'FY_BY_REALTlME'
    data = urllib.parse.urlencode(data).encode('utf-8')

    reponse = urllib.request.urlopen(url,data)
    html = reponse.read().decode('utf-8')
    htmls = json.loads(html)
    print(htmls【'translateResult'】【0】【0】【'src'】 + '的翻译结果是:' + htmls【'translateResult'】【0】【0】【'tgt'】)
    for i in range(0,3):
        print(f'为了防止造成服务器拥堵,请等待{3 - i}秒后继续翻译!')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 07:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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