鱼C论坛

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

爬有道时网址为什么和老师不一样,导致无法成功

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

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

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

x
我在看视频学习时按照老师的操作可是得到的有道的的网址是不同的,这导致我在运行时一直显示{"errorCode":50},可我在网上查了一个正确的代码后发现,我和他就只有网址不同,我换了他的网之后,就可以正常运行了。怎样去得到一个真确的网址
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-23 08:52:35 From FishC Mobile | 显示全部楼层
爬虫代码要与时俱进
落后就要挨打
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-23 15:42:27 | 显示全部楼层
本帖最后由 漫步云端〃 于 2019-7-23 15:44 编辑

老师的视频是好几年前的了,出现{"errorCode":50}是表示有道有反爬虫机制,就是你被识别出来是爬虫了,只能去做隐藏。比如加表头headers,加data,加IP池,加浏览器池等等。主要一点思路就是,把自己伪装成浏览器去浏览网页,让反爬虫机制识别不出来你。
目前的有道反爬虫机制好像是添加了。BS.BV和User-agent的MD5加密参数。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-31 10:54:34 | 显示全部楼层
from urllib import request
from urllib import parse
import re

url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
header = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"}
key = input("请输入:")
formdata = {"i":key,
            "from":"AUTO",
            "to":"AUTO",
            "smartresult":"dict",
            "client":"fanyideskweb",
            "salt":"15645387211875",
            "sign":"af5cad2b8bd0f9367848712d1297c8ab",
            "ts":"1564538721187",
            "bv":"563490a3a59c96d89a5868bde7ab81c1",
            "doctype":"json",
            "version":"2.1",
            "keyfrom":"fanyi.web",
            "action":"FY_BY_REALTlME"}
data = parse.urlencode(formdata).encode('utf-8')
req = request.Request(url,data=data,headers=header)
resp = request.urlopen(req).read().decode('utf-8')
pat = r'"tgt":"(.*?)"}]]'
jguo = re.findall(pat,resp)
print(jguo[0])
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-17 03:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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