Python爬虫图片爬取

跟着@Jack-Cui 学习爬虫爬取图片的时候发现之前的代码因为网站更新已经不能爬取了,就自己用Charles重新对 https://unsplash.com/ 进行了抓包。
原文地址: https://blog.csdn.net/c406495762/article/details/78123502
对抓包抓取的信息进行分析后,发现抓取的json格式的链接为:https://unsplash.com/napi/photos?page=xxx&per_page=12, xxx表示的是页数,每一页有12张图片。

下载图片的链接没有改变,还是 https://unsplash.com/photos/xxx/download?force=true, xxx表示的是图片的id。
在抓取的过程中,我没有遇到需要使用header的情况,所以就没有使用header参数。下面我贴出代码:

# -*- coding:UTF-8 -*-
import requests, json, time
from contextlib import closingclass get_photos(object):def __init__(self):self.photos_id = []self.download_server = 'https://unsplash.com/photos/xxx/download?force=true'self.target = 'https://unsplash.com/napi/photos?page=xxx&per_page=12''''函数说明:获取图片IDParameters:page --页数Returns:None'''def get_ids(self, page):target = self.target.replace('xxx', str(page))req = requests.get(url = target)html = json.loads(req.text)for each in html:self.photos_id.append(each['id'])time.sleep(1)for i in range(5):    #获取6页图片的idpage = page + 1next_page = self.target.replace('xxx', str(page))req = requests.get(url = next_page)html = json.loads(req.text)for each in html:self.photos_id.append(each['id'])time.sleep(1)'''函数说明:图片下载Parameters:photo_id --图片idfilename --图片存储名Returns:None'''def download(self, photo_id, filename):target = self.download_server.replace('xxx', photo_id)with closing(requests.get(url = target, stream = True)) as r:with open('%s.jpg' % filename, 'ab+') as f:for chunk in r.iter_content(chunk_size = 1024):if chunk:     f.write(chunk)f.flush()if __name__ == '__main__':gp = get_photos()print('获取图片链接中:')gp.get_ids(1)print('图片下载中。。。')for i in range(len(gp.photos_id)):print('正在下载第%d张图片' % (i+1))gp.download(gp.photos_id[i], gp.photos_id[i])  #使用图片id作为图片的存储名

Python爬取https://unsplash.com/的图片相关推荐

  1. Python爬取京东商品评论和图片下载

    Python爬取京东商品评论和图片下载 代码仅供学习使用,切勿扩散并且频繁爬取网站 贴上代码和注释,方便自己下次看 import requests import time import json im ...

  2. 教你用python爬取王者荣耀英雄皮肤图片,并将图片保存在各自英雄的文件夹中。(附源码)

    教你用python爬取王者荣耀英雄皮肤图片,并将图片保存在各自英雄的文件夹中.(附源码) 代码展示: 保存在各自的文件夹中 美么? 让我们开始爬虫之路 开发环境 windows 10 python3. ...

  3. 使用python爬取斗图网的图片

    使用python爬取斗图网的图片 以下是代码部分: # -*- coding: utf-8 -*- """ Created on Wed Apr 14 14:41:42 ...

  4. python 爬取https://wall.alphacoders.com上的壁纸(入门级别)

    python 爬取https://wall.alphacoders.com上的壁纸 0,环境 python3.7 库:requests,BeautifulSoup4 1,目标 https://wall ...

  5. 用python爬取动态网页上的图片(百度图片)

    用python爬取动态网页上的图片(百度图片) 参考B站一个视频,视频链接: https://www.bilibili.com/video/BV1Va4y1Y7fK?share_source=copy ...

  6. 用python爬取公众号推送图片并保存为PPT

    文章目录 一.前言 二.开始 (一)获取推送URL链接 (二)爬取网页并提取图片保存 1.定义用于爬取推送图片的PictureSpider类 2.定义get_url_text()方法 3.定义sear ...

  7. python爬取妹子图网健康图片

    为了博取大家的眼球,博主选了这个题材,现实生活中博主很正直的人,嗯 废话不说 demo,本demo只爬取了封面图片,内部图片方法相同 import requests from pyquery impo ...

  8. python爬取qq空间锁密图片_Python3爬取QQ空间信息(下)

    |下载W3Cschool手机App,0基础随时随地学编程>>戳此了解| 导语 内容回顾: Python爬取QQ空间信息(上) 按照(上)中的安排,本期内容为抓取QQ空间的好友信息并做可视化 ...

  9. python爬取捧腹网gif图片

    #_*_coding:utf-8_*_ #爬取捧腹网GIF图片 import urllib,re import urllib.request import chardet #需要导入这个模块,检测编码 ...

最新文章

  1. 从控制器到驱动器的WD——硬盘巨头启示录之西数篇
  2. 用计算机解决问题的五个步骤,人们利用计算机解决问题的基本过程一般有如下五个步骤....docx...
  3. 谷歌-百度世界杯大数据预测,哪家更准?
  4. RecyclerView滑动到指定位置,并置顶
  5. sklearn支持gpu_Keras Sklearn随机搜索GPU OOM
  6. mysql时间变成季度_Mysql 时间操作(当天, 昨天,7 天,30 天, 半年, 全年, 季度)
  7. WiFi万能钥匙发布iOS4.0新增骚扰电话拦截功能
  8. maven 工程依赖war包
  9. 第五人格维修服务器时间,第五人格调整维护时间 第五人格新赛季奖励皮肤一览...
  10. ubuntu ftp server-转
  11. .NET基础拾遗(6)ADO.NET与数据库开发基础
  12. 绕过图片打印成PDF时出现锯齿的问题
  13. excel2latex表格竖线截断不连续不连贯问题一键解决
  14. android camera预览翻转,android camera yuv帧水平翻转实例
  15. csgo如何练习枪法?
  16. 光学字符识别引擎 tesseract-ocr 简介
  17. 利用Appium对Android App进行测试
  18. Android Zxing 扫描器 扫描框、扫描线定制样式
  19. 仲恺计算机二级c语言,2009年下半年(第30次)全国计算机等级考试(NCRE)广东考区报考简章...
  20. 【超详细】Linux内核树的构建

热门文章

  1. 晓庄学院计算机音乐,南京晓庄学院音乐学院新媒体时代高校音乐课程的改革与创新...
  2. 使用emqx部署mtqq服务器
  3. Zendnbsp;Studionbsp;12nbsp;安…
  4. 如何将footer标签固定在底部_如何让网页的footer一直固定在底端
  5. 视频文件的格式可以批量转换吗
  6. Java switch case 语句
  7. CUDA:cudaMalloc vs cudaMallocHost
  8. linux中sed切割方法,Linux中Sed常用操作
  9. CG-MB 奔驰怪兽
  10. 使用Node.js打包前端