我的程序生成指向托管图像的服务的随机链接,并抓取并下载随机图像。该程序提出了很多请求,因此必须通过代理。
好吧,当程序启动时,我只是给它一个新的大型代理列表的路径;但是,有时代理将不会连接到网站,有时他们将返回自定义HTML页面 - 或者图像服务将返回页面上的消息“您无权查看此图像”。虽然,该程序仍将保存请求并下载扩展名为.png的页面
所以有时这些HTML /文本页面会保存为.png文件:
有什么方法可以阻止下载这些页面,只下载实际图像吗?
谢谢。
if self.proxy != False:
#make our requests go through proxy
self.opener.retrieve(url, filename)
else:
urllib.request.urlretrieve(url, filename)
答案 0 :(得分:0)
我认为你应该改变逻辑。
如果代理在收到您询问的页面时返回错误,则通常使用HTTP状态代码!= 200
然后您应该按顺序检查:
对于这类任务,我建议使用requests module。