【python】根据pixiv网站的图片url下载图片到本地

您所在的位置:网站首页 u95等于多少 【python】根据pixiv网站的图片url下载图片到本地

【python】根据pixiv网站的图片url下载图片到本地

2023-08-22 15:10| 来源: 网络整理| 查看: 265

写在前面

pixiv是著名的插画网站。如果我们通过爬虫技术得到了pixiv网站图片的url,那么如何根据url下载图片到本地。

安装模块 pip install requests 测试样例

打开以下页面

https://www.pixiv.net/artworks/77926406

在这里插入图片描述

复制图片地址

https://i.pximg.net/img-original/img/2019/11/22/00/00/13/77926406_p0.jpg

在这里插入图片描述

下载图片 import requests import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) headers = {'Referer': 'https://www.pixiv.net/'} url = 'https://i.pximg.net/img-original/img/2019/11/22/00/00/13/77926406_p0.jpg' res = requests.get(url, headers=headers, verify=False) with open('test.jpg', 'wb') as f: f.write(res.content) 注意事项

请求头添加Referer

headers = {'Referer': 'https://www.pixiv.net/'}

关闭SSL证书验证

verify = False 温馨提示 Referer

pixiv设置了图片防盗链,所以需要添加Referer。

Referer的作用就是告诉你要下载的那个图片页面,我是从主页面来的,你可以放心的把数据给我。

举个栗子:

直接访问测试样例的图片地址,会报403错误 在这里插入图片描述使用ModHeader这款插件,修改请求头:设置Referer为https://www.pixiv.net/ 在这里插入图片描述添加Referer后就能正常显示图片了在这里插入图片描述 verify=False

pixiv用的是私有证书,如果设置verify=True,下载会报错:

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='i.pximg.net', port=443): Max retries exceeded with url: /img-original/img/2019/11/22/00/00/13/77926406_p0.jpg (Caused by NewConnectionError(': Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))

请求图片地址的时候设置了verify=False,所以会弹出警告:

InsecureRequestWarning: Unverified HTTPS request is being made to host 'i.pximg.net'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

为了不让程序运行时弹出警告,我们需要添加以下两行代码:

import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) 引用参考 https://blog.csdn.net/python_neophyte/article/details/82562330 https://requests.readthedocs.io/zh_CN/latest/user/advanced.html#ssl https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3