写在前面

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的作用就是告诉你要下载的那个图片页面,我是从主页面来的,你可以放心的把数据给我。

举个栗子:

  1. 直接访问测试样例的图片地址,会报403错误
  2. 使用ModHeader这款插件,修改请求头:设置Refererhttps://www.pixiv.net/
  3. 添加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('<urllib3.connection.VerifiedHTTPSConnection object at 0x0000027A06DCC3D0>: 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

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

  1. 根据图片url下载图片

    const urlDownloadIamge = (imgsrc, name) => { //要下载图片地址和图片名let image = new Image();// 解决跨域 Canvas ...

  2. c++ url下载图片

    /* @author:CodingMengmeng @theme:C++根据图片url下载图片 @time:2017-1-6 22:58:00 @blog:http://www.cnblogs.com ...

  3. Python爬虫-从pixabay网站爬取并下载图片

    Python爬虫--Python爬虫爬取Demo图片数据 GitHub:https://github.com/kevinten10/Lifecat-Python pixabay是优秀的图片搜索网站:h ...

  4. Python利用bs4批量抓取网页图片并下载保存至本地

    Python利用bs4批量抓取网页图片并下载保存至本地 使用bs4抓取网页图片,bs4解析比较简单,需要预先了解一些html知识,bs4的逻辑简单,编写难度较低.本例以抓取某壁纸网站中的壁纸为例.(b ...

  5. python下载图片并保存_Python爬虫获取图片并下载保存至本地的实例

    1.抓取煎蛋网上的图片. 2.代码如下: import urllib.request import os #to open the url def url_open(url): req=urllib. ...

  6. JAVA 通过url下载图片保存到本地(亲测)

    //java 通过url下载图片保存到本地    public static void download(String urlString, int i) throws Exception {     ...

  7. HttpURLConnection根据URL下载图片

    来看下最简单的根据URL下载图片,此方法在实际开发中,不建议使用,因为有些图片是下载不了的,比如百度上的一些图片,返回http的响应码是405 [java] view plaincopy packag ...

  8. 前端通过后端返回的url下载图片方法

    前端通过后端返回的url下载图片方法: 1.a标签下载方式: <div class="code-info"><img :src="data.qrCode ...

  9. 使用scrapy图片管道下载图片

    前言 Scrapy是Python语言下一个十分流行的爬虫框架,本文不对Scrapy本身做详细介绍.有关Scrapy的安装可以参考官网的安装指南,不过本人更推荐使用Anaconda,Anaconda集成 ...

最新文章

  1. ResNet、Faster RCNN、Mask RCNN是专利算法吗?盘点何恺明参与发明的专利
  2. 华为实习日记——第二十二天
  3. Elasticsearch 2.2.0 索引配置详解
  4. Linux目录结构 Linux分区、挂载点
  5. 经济师考计算机英语考试,中级经济师考试合格算获得中级职称吗?需要考英语和计算机吗?...
  6. GC之二--GC是如何回收时的判断依据、shallow(浅) size、retained(保留) size、Deep(深)size...
  7. php-fpm中启用慢日志配置
  8. 熵(Entropy),交叉熵(Cross-Entropy),KL-松散度(KL Divergence),似然(Likelihood)
  9. 【Windows】创建任务计划
  10. python自动化从零开始_从零开始学Selenium自动化测试:基于Python:视频教学版
  11. RoRoWoBlog 开源博客系统介绍
  12. PHP图形图像的典型应用 --常用图像的应用(验证码)
  13. Docker 安装常用软件记录
  14. zktime 协议_中控考勤机对接信呼帮助(中控ZKTime5.0系统软件版)
  15. Excel两列的数据合并成一列
  16. 【记录一些名人博客地址】
  17. 怎么让python播放音频_用Python播放音频
  18. Perl 批评的游乐园镜子
  19. Web全栈 第九周-曾老师-专题视频课程
  20. 常用增强学习实验环境 I (MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)

热门文章

  1. 颜色英文单词总汇(申明:来自于360)
  2. 高考后的我们要去追逐星辰大海
  3. 使用samba服务在Linux与Windows直接共享文件夹,海康威视网络摄像头录像视频存储到ubuntu服务器
  4. python画星空的程序_Python画好看的星空图
  5. 光影魔术手出现load XAR失败,解决办法。
  6. clipboard使用总结(复制文本到剪贴板功能的JavaScript插件)
  7. 双色球,抽奖是否中奖
  8. Django.db.utils.OperationalError: (1045, Access denied for user 'root'@'localhost' (using passwo...
  9. C# Spire.XLS 无限制 使用教程
  10. linux中strlen的用法,实现strlen()函数,strcmp()函数 const知识点