爬取后保存的图片效果图

步骤入下(三步):

    1. 先去要爬取的目标网站(https://pixabay.com/)去注册一个账号。
  • 2.注册后登录,浏览器右键鼠标,打开检查,找到登录后的cookies值。
  • 3.运行源代码(源代码在文末给出)

    输入登录后的cookies值,以及要开始爬取的页面数。回车即可。
    (文件爬取的下载路径可以自行在源代码中修改)

源代码

#encoding:utf-8
import httpx
from bs4 import BeautifulSoup
import os
import zipfile
import time
import randomcookies = str(input("请输入登陆后的cookie值:")).replace('\n', '').replace('\t', '')
headers = {'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',# 'accept-encoding': 'gzip, deflate, br','accept-language': 'zh-CN,zh;q=0.9','cookie': cookies,'referer': 'https://pixabay.com/photos/search/?pagi=2&','sec-ch-ua': '"Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99"','sec-ch-ua-mobile': '?0','sec-ch-ua-platform': '"Windows"','sec-fetch-dest': 'document','sec-fetch-mode': 'navigate','sec-fetch-site': 'same-origin','sec-fetch-user': '?1','upgrade-insecure-requests': '1','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36',
}def getimgindex(page):url = f"https://pixabay.com/zh/photos/search/?pagi={page}&"client = httpx.Client(http2=True,verify=False)res = client.get(url,headers=headers,timeout=20)html = BeautifulSoup(res.content,'lxml')imgurl = html.find_all('div',class_="row-masonry-cell-inner")for img in imgurl:photo = img.find_all('img')[0]title = photo['alt']if 'Sponsored image' not in title:try:data_lazy = photo['data-lazy']except:data_lazy = photo['src']data_lazy = str(data_lazy).split('/')[-1].split('_')[0]downloadUrl = f'https://pixabay.com/zh/images/download/container-ship-{data_lazy}.jpg?attachment'filename = data_lazy.split('-')[-1]downloadpath = f"data/{filename}" #下载路径createFile(downloadpath) # 创建下载路径文件夹taginfo = str(title).replace(', ',"_")downloadfilename = f"data/{filename}/{filename}_{taginfo}" #文件夹名称 无后缀名download(downloadUrl, downloadfilename)def download(url,filename):client = httpx.Client(http2=True, verify=False)res = client.get(url, headers=headers, timeout=20)with open(f'{filename}.jpg', 'wb') as f:f.write(res.content)f.close()print(f'{filename} Download successful!')def zipDir(dirpath,outFullName):"""压缩指定文件夹:param dirpath: 目标文件夹路径:param outFullName: 压缩文件保存路径+xxxx.zip:return: 无"""zip = zipfile.ZipFile(outFullName,"w",zipfile.ZIP_DEFLATED)for path,dirnames,filenames in os.walk(dirpath):# 去掉目标跟路径,只对目标文件夹下边的文件及文件夹进行压缩fpath = path.replace(dirpath,'')for filename in filenames:zip.write(os.path.join(path,filename),os.path.join(fpath,filename))zip.close()def createFile(filename):"""创建文件夹"""while True:filepath = f"{filename}"if os.path.isdir(filepath):breakelse:os.makedirs(filepath)
def wirteTxt(filename,content):"""写入数据"""with open(f'{filename}', 'a+', encoding='utf-8') as f:f.write(str(content) + '\n')f.close()print(f'{content} 正在写入')def runs():while True:try:p = int(input("请输入开始页码:"))except:passelse:n = 0for x in range(p,12221):n += 1if n % 15 == 0:randomTime = random.randint(10, 30)print(f"休息{randomTime}秒后继续爬取!")time.sleep(randomTime)randomTime = random.randint(1,5)print(f"{randomTime}秒后开始爬取")time.sleep(randomTime)nowtime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())text = f"{nowtime} ———————— 第{x}页"wirteTxt('loging.txt',text)getimgindex(x)breakif __name__ == '__main__':runs()

结束语

  • 有问题,或者是更好的方法,欢迎大家指正,私信我。

python爬虫爬取某网站全站图片案列(源码全给可白漂,仅供学习使用,切勿用作非法用途)相关推荐

  1. python3APP爬虫--爬取王者荣耀英雄图片(附源码)

    文章目录 一.准备工作 1.工具 二.思路 1.整体思路 2.爬虫思路 三.获取数据 1.抓包 2.分析json 四.撰写爬虫 五.得到数据 六.总结 之前有写过抖音app用户信息爬虫,因为当时是第一 ...

  2. python爬虫爬取汽车网站外型图片

    我选择的起始网址:http://www.hao123.com/auto/brand 当你随便选择一个车牌的选框( 不要 同时选择多个选框)你就会发现每个车牌对应一个网址 每个网址的区别就是数字不同 比 ...

  3. 爬虫爬取二次元网站美女图片

    爬虫爬取二次元网站美女图片 前言 xpath解析 需求分析 代码编写 总代码 前言 本次需要爬取二次元网站cos板块下的图片 需要用到request模块与lxml模块,所以请提前安装好这两个模块,打开 ...

  4. python爬虫爬取彼岸图网图片

    python爬虫爬取彼岸图网图片 话不多说,直接上代码! import requests from PIL import Image from io import BytesIO import re ...

  5. python爬虫图片实例-Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  6. Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  7. python爬虫爬取百度贴吧图片,requests方法

    每天一点点,记录学习 近期爬虫项目,看完请点赞哦---: 1:python 爬取菜鸟教程python100题,百度贴吧图片反爬虫下载,批量下载 2:python爬虫爬取百度贴吧图片,requests方 ...

  8. 人力资源学python有意义吗-python爬虫抖音 个人资料 仅供学习参考 切勿用于商业...

    本文仅供学习参考 切勿用于商业 本次爬取使用fiddler+模拟器(下载抖音APP)+pycharm 1. 下载最新版本的fiddler(自行百度下载),以及相关配置 1.1.依次点击,菜单栏-Too ...

  9. python爬虫爬取某网站图片

    学习分享 | 今天刚学完爬虫,就随便写了一个爬虫代码爬取某网站的图片 网站就是这个图片网站,我选的是1080p格式,4k的要会员,我反正是还不会 导入的包如下 import requests from ...

最新文章

  1. C++ 偏微分数值计算库_【动手学计算机视觉】第一讲:图像预处理之图像去噪...
  2. @EnableAspectJAutoProxy||AOP原理:【看给容器中注册了什么组件,这个组件什么时候工作,这个组件的功能是什么?】
  3. MySQL(四)字段及常用函数
  4. python没有pil模块_Python离线安装PIL 模块的方法
  5. python 编码问题之终极解决
  6. springmvc+jpa实现分页的两种方式
  7. 10 PP配置-生产主数据-工作中心相关-定义工作中心公式
  8. android怎样判断插入数据是否成功_Android 端 V1/V2/V3 签名的原理
  9. Nginx部署前后端分离项目,配置SSL证书,结果刷新报500异常
  10. 浅谈ES6中的rest参数
  11. C#网络编程----文件流
  12. 1688按图搜索商品(拍立淘)获取数据的教程
  13. 1 区 IF:5+ | JGG 专刊征稿:人体微生物组
  14. 一、Python语言概述
  15. 主从博弈论文中关于均衡解证明的写作总结
  16. 深大计网实验 4:Socket 网络编程
  17. 【mmaction2 入门教程 01】 slowfast训练配置 日志分析 测试结果分析
  18. linux 存储结构与磁盘划分详解
  19. C# 文件以txt文档模式存储,存储地址的设置 saveFileDialog控件的使用
  20. 4.2k Star!实用的 Mac 进程管理工具

热门文章

  1. 安卓全屏显示创建activity-land资源找不到的问题
  2. pat乙级题目—1001 害死人不偿命的(3n+1)猜想
  3. 微信OAuth授权获取用户OpenId
  4. 兄弟连兄弟会机构好不好
  5. JS单击/双击编辑功能
  6. 经典例题:十六进制转换十进制详解 适合初学者
  7. 【P28】分立耳放的修正以及衍生版本对比
  8. SpringCloud-Gataway网关的使用
  9. Python学习笔记 print()函数输出多个变量 使用.format()
  10. 猿团项目实战-仿途牛旅行APP免费视频课程