Python爬取pexels图片
研究Python爬虫,网上很多爬取pexels图片的案例,我下载下来运行没有成功,总量有各种各样的问题。
作为菜鸟初学者,网上的各个案例代码对我还是有不少启发作用,我用搜索引擎+chatGPT逐步对代码进行了完善。
最终运行成功。特此记录。
运行环境:Win10,Python3.10、Google Chrome111.0.5563.148(正式版本)
1 import urllib.request
2 from bs4 import BeautifulSoup
3 import os
4 import html
5 import requests
6 import urllib.parse
7
8 path = r"C:\Users\xiaochao\pexels"
9 url_lists = ['https://www.pexels.com/search/book/?page={}'.format(i) for i in range(1, 2)]
10 headers = {
11 "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36",
12 "Referer": "https://www.pexels.com/",
13 "Accept-Language": "en-US,en;q=0.9",
14 }
15
16 for url in url_lists:
17 print(url)
18 req = urllib.request.Request(url, headers=headers)
19 try:
20 resp = urllib.request.urlopen(req)
21 except urllib.error.HTTPError as e:
22 print("HTTPError occurred: {}".format(e))
23 continue
24
25 html_content = resp.read().decode()
26 soup = BeautifulSoup(html_content, "html.parser")
27
28 import re
29 pattern = re.compile('"Download" href="(.*?)/?cs=', re.S)
30 matches = re.findall(pattern, html_content)
31 print(matches)
32
33 if not os.path.exists(path):
34 os.makedirs(path)
35
36 for match in matches:
37 match_cleaned = match.split('?')[0] # 去除图片URL地址最后带的“?”号。
38 print(match_cleaned) # 输出去除图片URL“?”号的地址
39 match_cleaned = html.unescape(match_cleaned) #解码 HTML 编码字符,将文件链接还原为正常的 URL 格式
40 match_cleaned = urllib.parse.unquote(match_cleaned) # 对 URL 进行进一步处理,解码URL,确保它的格式正确,包括删除多余的引号和处理特殊字符。
41 match_cleaned = urllib.parse.urljoin(url, match_cleaned) # 将相对 URL 转换为绝对 URL
42
43
44 # 按URL地址后段命名
45 filename = match_cleaned.split("/")[-1]
46 with open(os.path.join(path, filename), "wb") as f:
47 f.write(requests.get(match_cleaned).content)
Python爬取pexels图片的更多相关文章
- Python爬取谷歌街景图片
最近有个需求是要爬取街景图片,国内厂商百度高德和腾讯地图都没有开放接口,查询资料得知谷歌地图开放街景api 谷歌捷径申请key地址:https://developers.google.com/maps ...
- 利用Python爬取网页图片
最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 我们这里以sogou作为爬取的对象. 首先我们进入搜狗图片 ...
- Python 爬取美女图片,分目录多级存储
最近有个需求:下载https://mm.meiji2.com/网站的图片. 所以简单研究了一下爬虫. 在此整理一下结果,一为自己记录,二给后人一些方向. 爬取结果如图: 整体研究周期 2-3 天, ...
- python爬取网页图片(二)
从一个网页爬取图片已经解决,现在想要把这个用户发的图片全部爬取. 首先:先找到这个用户的发帖页面: http://www.acfun.cn/u/1094623.aspx#page=1 然后从这个页面中 ...
- 用python 爬取网页图片
import re import string import sys import os import urllib url="http://tieba.baidu.com/p/252129 ...
- python爬取网页图片
# html:网页地址 def getImg2(html): soup = BeautifulSoup(html, 'html.parser') href_regex = re.compile(r'^ ...
- python爬取百度图片
import requests import re from urllib import parse import os from threading import Thread def downlo ...
- Python 爬取图书图片和地址
#-*- coding:utf-8 -*- import xlwt import urllib import re def getHtml(url): page = urllib.urlopen(ur ...
- python爬取许多图片的代码
from bs4 import BeautifulSoup import requests import os os.makedirs('./img/', exist_ok=True) URL = & ...
- 实例学习——爬取Pexels高清图片
近来学习爬取Pexels图片时,发现书上代码会抛出ConnectionError,经查阅资料知,可能是向网页申请过于频繁被禁,可使用time.sleep(),减缓爬取速度,但考虑到爬取数据较多,运行时 ...
随机推荐
- Pycharm 2021.3 的激活破解教程,永久激活,亲测有效
关注公众号回复 pycharm 即可获取激活脚本和教程 更新时间 2022年1月20日. 不定时更新 激活码可在公众号中回复[激活码]获取.
- 11.30linux学习第十一天
今天老刘上课,第7章收尾,第8章开了个头. 7.1.3 磁盘阵列+备份盘 RAID 10磁盘阵列中最多允许50%的硬盘设备发生故障,但是存在这样一种极端情况,即同一RAID 1磁盘阵列中的硬盘设备若 ...
- ES2015常用知识点
ES2015(又称ES6)部分1 let/const以及块作用域:2 循环语句 const arr=[1,2,3]; for(const item of arr){ console.log(item) ...
- Angular 管道和路由
管道pipe: 要在HTML模板中指定值转换,请使用管道运算符(|). {{interpolated_value | pipe_name}} 您可以链接管道,发送一个管道功能的输出以被另一个管道功能转 ...
- 用反证法说明List<Object>和List<String>不存在子父类关系可行吗?
看宋红康老师的Java基础视频讲解,视频中用反证法证明List
- 20181302编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
MyOD 一.任务详情 1 复习c文件处理内容 2 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能 3. main与其他分开,制作静态库和动态库 4. 编写Ma ...
- 分布式CAP_BASE博客参考
https://blog.csdn.net/lixinkuan328/article/details/95535691 CAP 一致性(Consistency) 可用性(Availability) 分 ...
- 自己动手从零写桌面操作系统GrapeOS系列教程——14.屏幕显示原理与文本模式
学习操作系统原理最好的方法是自己写一个简单的操作系统. 一.屏幕显示原理 电脑显示器屏幕是由很多很小的像素组成的.每个像素就像是一个小灯泡,在屏幕上一排一排的整齐排列着.只要能控制每个像素的颜色就能显 ...
- 联邦学习开源框架FATE架构
作者:京东科技 葛星宇 1.前言 本文除特殊说明外,所指的都是fate 1.9版本. fate资料存在着多处版本功能与发布的文档不匹配的情况,各个模块都有独立的文档,功能又有关联,坑比较多,首先要理清 ...
- 声网Agora发布教育信息化解决方案 助力教育公平提效
4月23日-25日,由中国教育装备行业协会主办的第79届教育装备展在厦门国际会展中心举办.作为赋能教育信息化的实时互动PaaS服务商,声网Agora应邀参会.展会现场,声网展示了基于实时音视频互动能力 ...