梗概:pexels的图片高清度超高,特别适合做桌面图片背景。我在网上搜索了以往爬取pexels图片的代码,没有能完美解决问题的代码可用。主要是人家pexels有反爬,有个认提出用selelium绕过反爬,不过,我依然没有成功,不过,那位仁兄说还有一个办法就是用pexels的API。这个是个好办法,最后,我自己也是通过pexels api接口解决的,就是要去pexels 网申请一下。代码上,问题解决。

先要安装这三个不常用的包(个人感觉):argparse、tqdm和pexels_api。直接在Anacanda Prompt输入:pip install +包名。

接下来就是去pexels网站申请API 密钥。

最后,完整代码就在下面,要是你觉得这个文章对你有帮助,请帮忙点个赞,如果代码不能运行,请留言,我会去解决。

import argparse
import json
import os
import timeimport requests
import tqdm
from pexels_api import APIPAGE_LIMIT = 60
RESULTS_PER_PAGE = 60PEXELS_API_KEY = 'API KEY'#这里需要你去pexels申请一个API密钥
api = API(PEXELS_API_KEY)
query = "china landscape"  # 这里你要输入英文,可以自己先查好英文关键词再输入
photos_dict = {}
page=1
counter = 0# Step 1:获取URL和元信息
while page < PAGE_LIMIT:api.search(query, page=page, results_per_page=RESULTS_PER_PAGE)photos = api.get_entries()for photo in tqdm.tqdm(photos):photos_dict[photo.id] = vars(photo)['_Photo__photo']counter += 1if not api.has_next_page:breakpage += 1print(f"Finishing at page: {page}")
print(f"Images were processed: {counter}")# Step 2: 下载图片
PATH = './china landscape'#文件下载路径
RESOLUTION = 'original'if photos_dict:os.makedirs(PATH, exist_ok=True)# 保存到字典with open(os.path.join(PATH, f'{query}.json'), 'w') as fout:json.dump(photos_dict, fout)for val in tqdm.tqdm(photos_dict.values()):url = val['src'][RESOLUTION]fname = os.path.basename(val['src']['original'])image_path = os.path.join(PATH, fname)if not os.path.isfile(image_path):response = requests.get(url, stream=True)with open(image_path, 'wb') as outfile:outfile.write(response.content)else:# 如果该图片文件已经存在,就忽略print(f"File {image_path} exists")

效果图:

怎么批量下载pexels网站图片?如何解决该网站的反爬?有人说用pexels 的api接口就可以解决。相关推荐

  1. php ajax 下载图片路径,JavaScript_批量下载对路网图片并生成html的实现方法,对路使用ajax实现异步加载内容 - phpStudy...

    批量下载对路网图片并生成html的实现方法 对路使用ajax实现异步加载内容,在它的js代码中找到了相关代码 type : 'POST', url : '/index.php/request/new_ ...

  2. Android进阶之路 - 批量下载、缓存图片

    在日常项目开发中,关于图片批量下载,数据缓存的相关功能比比皆是,这次也是去年在项目中需要在本地缓存商品数据,所以用到了批量下载的功能,特此记录 ~ 关联篇 Android进阶之路 - 批量下载.缓存图 ...

  3. Android进阶之路 - 批量下载、缓存图片、视频

    之前已经记录过,批量下载图片和缓存本地的方式,此篇主要记录批量下载图片.视频,同时缓存在本地的功能实现 关联篇 Android进阶之路 - 批量下载.缓存图片 Android进阶之路 - 批量下载.缓 ...

  4. js php 批量下载文件,批量下载对路网图片并生成html的实现方法

    对路使用ajax实现异步加载内容,在它的js代码中找到了相关代码 type : 'POST', url : '/index.php/request/new_data2/' + times + '/'+ ...

  5. android怎么让图片显示在button上面_网上的图片不知道怎么批量下载?python教你怎么把网站上面的图片都爬下来...

    ## **妹子图网站----前言** 从今天开始就要撸起袖子,直接写Python爬虫了,学习语言最好的办法就是有目的的进行,所以,接下来我将用10+篇的博客,写`爬图片`这一件事情.希望可以做好. 为 ...

  6. python下载图片的命令_网上的图片不知道怎么批量下载?python教你怎么把网站上面的图片都爬下来...

    妹子图网站----前言 从今天开始就要撸起袖子,直接写Python爬虫了,学习语言最好的办法就是有目的的进行,所以,接下来我将用10+篇的博客,写爬图片这一件事情.希望可以做好. 为了写好爬虫,我们需 ...

  7. 一键获取网页中的全部图片并批量下载(国内淘宝天猫京东网站+国外商品页面)——亲测有效

    上周六的时候,有个朋友找到我,需要将网页中的图片全部下载下来,而且还不能改变图片的大小: 作为一个前端,经常跟html打交道,我深知页面中肯定是有图片链接的 网页中下载少量图片的方法 举例说明网页中图 ...

  8. 图片批量下载软件-全网图片免费批量下载软件

    图片批量下载软件,今天给大家分享一款免费图片批量下载软件,支持任意格式的图片批量下载,只需要输入关键词或批量导入网页链接即可下载图片.批量下载任意网页上的图片,每个人都可以拥有各种高清图源.支持批量图 ...

  9. 用python批量下载贴吧图片 附源代码

    环境:windows 7 64位:python2.7:IDE pycharm2016.1 功能: 批量下载百度贴吧某吧某页的所有帖子中的所有图片 使用方法: 1.安装python2.7,安装re模块, ...

最新文章

  1. 计算机技术综合应用,浅谈计算机技术综合应用能力培养.pdf
  2. 网页中嵌套网页flush_如何修改网页中的内容?
  3. Mongodb的索引
  4. 升级python3后yum出现异常解决办法
  5. java se 7web_JAX-WS ::从独立的Java 7 SE客户端调用Web服务的方法
  6. 2018年12月7日 字符串格式化2 format与函数1
  7. python跟我学_灞桥区跟我学python
  8. sudo echo x **.** 时 base: : Permission denied
  9. DCMTK的Worklist初探
  10. 【华为浏览器如何安装扩展程序】
  11. adjacent angle_adjacent angle是什么意思_adjacent angle怎么读_adjacent angle翻译_用法_发音_词组_同反义词_邻角-新东方在线英语词典...
  12. SAP BASIS ADM100 中文版 Unit 9(5)
  13. 批量压缩图片软件 JAVA
  14. 如何在浏览器查看渲染时间?
  15. 做一个微信消息的日期展示
  16. vue 多行输入框显示行号
  17. fiddler抓包 破解微信投票
  18. mariadb-server
  19. 9.HTML5 JavaScript DHTML
  20. 【Hbase】RegionServer宕机数据恢复

热门文章

  1. 589. N 叉树的前序遍历
  2. LabVIEW使用移位寄存器计算平均值
  3. jQuery放大镜 实现图片的放大
  4. 创业型的公司,请不要给员工开空头支票。要来,就来点实际的!
  5. oracle查所有字段,oracle查询所有表和字段
  6. BI商业智能工具改变企业发展态势
  7. 魔法王国java_网易编程题-游历魔法王国(深度优先遍历)
  8. 理解 css - clear:both
  9. ping6 linux,Linux下的ping6
  10. postgresql.util.PSQLException: 不良的类型值 int : 2020-11-19 02:47:05.013