python中用urllib.retrieve下载网页图片时,由于权限问题不能下载

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中用urllib.retrieve下载网页图片时,由于权限问题不能下载相关的知识,希望对你有一定的参考价值。

用python中的urllib.retrieve下载网页图片时,由于权限问题不能下载,但是用浏览器是可以打开的,请问如何处理这个问题?怎么解决?谢谢!

你是不是下载了要登录后才能看到的图片?可以试着加一下cookie

import cookielib
cj = cookielib.MozillaCookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener(opener)

然后再添加user agent一起用试试看

参考技术A python 请求之前模拟一下User-Agent啊,伪装成浏览器追问

加User-Agent是在访问页面时加的,这个图片的地址是已知的,不需要访问页面时去寻找,只是用urllib.urlretrieve()方法,怎么加?

追答

怀疑是图片做了防盗链吧,有可能会检查地址栏的域来防盗链,我不确定你考虑一下!

参考技术B 通过抓包软件分析浏览器打开时带的参数是哪些,然后用urllib2,带上相应的信息去访问。追问

模拟浏览器是用的urllib2模块,但是最后下载图片还是要用urllib模块,通过用urllib2的设置对urllib模块的使用有用吗?图片的地址是已知的,不需要读取网页内容去搜索图片的地址的

以上是关于python中用urllib.retrieve下载网页图片时,由于权限问题不能下载的主要内容,如果未能解决你的问题,请参考以下文章

初识 python

在 Python 3 中用啥替代 xreadlines()?

selenium基础(生成测试报告)

如何在arch linux中用python 2完全替换python 3

如何在arch linux中用python 2完全替换python 3

vue中用js实现文件上传和文件下载