谈谈 爬虫遇到的 Access denied Error code 1020

这几天在练习爬虫的时候,遇到一个问题,
通过 python 代码从站点中拿到了目标图片的 url ,
但是,在持久化到本地时,出现了错误,所有保存下来的图片都报错:文件损坏,
而且,将图片 url 直接放到浏览器里,就会出现

Access denied Error code 1020

页面,

在这里插入图片描述看到这里,就严重的说明,你的目标地址正确,但却没有得到你想要的页面,这就是妥妥的 反盗链。
解决方法很简单,在 headers 里带上指定的 referer ,就能解决问题。

不过,新的问题又出现了,
我定义了两个变量,urlheaders ,并做了相应的配置,
使用 requests 模块的代码如下:

Response=requests.get(url,headers)

但是,在代码执行后,仍是出现了之前图片不能正常显示报文件损坏的错误,
奇了怪了,明明 在 headers 里有指明 referer ,但为什么还是被 反盗链 给收拾了。
百思不得其解,整整上网查了 10 多天,也没找到个所以然,
最后,还是请教了老师才将问题解决,

这里打个“小广告”,我老师往pypi库里在很多年前写过一个自动 fake 一个 user_agent 的模块,让代码变得非常的简洁,省事好用,推荐给大家。

1、 pip install kuser-agent 2、 import kuser_agent 3、 heads={‘user-agent’:kuser_agent.get()}

老师给的代码,如下:

Response=requests.get(url=url,headers=headers)

没错,就差在,参数的书写格式上了,
再和我的代码比较一下,

Response=requests.get(url,headers)

所以,以后的代码一定要按找规范书写,避免不必要的错误和干扰。

march the 05th 2023 Sunday,

猜你喜欢

转载自blog.csdn.net/m0_47505062/article/details/129347310