admin管理员组文章数量:1794759
python下载url图片或文件
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录- 前言
- 一、Get方法
- 二、urllib方法
- 三、可能遇到的问题
- 1、urllib.error.HTTPError: HTTP Error 403: Forbidden
- 总结
前言
python 网页下载url链接图片or文件
一、Get方法 import requests def download_img(img_url, api_token): print (img_url) header = {"Authorization": "Bearer " + api_token} # 设置http header,视情况加需要的条目,这里的token是用来鉴权的一种方式 r = requests.get(img_url, headers=header, stream=True) print(r.status_code) # 返回状态码 if r.status_code == 200: open('C:\\\\Users\\\\cloudoxou\\\\Desktop\\\\img.png', 'wb').write(r.content) # 将内容写入图片 print("done") del r if __name__ == '__main__': # 下载要的图片 img_url = "www.baidu/some_img_url" api_token = "fklasjfljasdlkfjlasjflasjfljhasdljflsdjflkjsadljfljsda" download_img(img_url, api_token) 二、urllib方法 import urllib.request def download_img(img_url, api_token): header = {"Authorization": "Bearer " + api_token} # 设置http header request = urllib.request.Request(img_url, headers=header) try: response = urllib.request.urlopen(request) img_name = "img.png" filename = "C:\\\\Users\\\\cloudoxou\\\\Desktop\\\\"+ img_name if (response.getcode() == 200): with open(filename, "wb") as f: f.write(response.read()) # 将内容写入图片 return filename except: return "failed" if __name__ == '__main__': # 下载要的图片 img_url = "www.baidu/some_img_url" api_token = "fklasjfljasdlkfjlasjflasjfljhasdljflsdjflkjsadljfljsda" download_img(img_url, api_token) 三、可能遇到的问题 1、urllib.error.HTTPError: HTTP Error 403: Forbidden需要添加特殊的header,模仿浏览器,可用F12查看。 例如:
主要是由于该网站禁止爬虫导致的,可以在请求加上头信,伪装成浏览器访问User-Agent,具体的信可以通过火狐的FireBug插件查询 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}总结
个人记录不会的操作,向百度学习。。。。
版权声明:本文标题:python下载url图片或文件 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686914781a117760.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论