关于“python3 爬取图片的实例代码”的完整攻略,我可以提供以下参考。
标准流程
- 确定目标网站和具体的爬取页面
- 分析页面结构和请求方式,确定获取图片的方式
- 使用Python的requests库向目标页面发起请求,并解析响应内容
- 通过正则表达式或BeautifulSoup等HTML解析库,从得到的HTML中提取图片链接
- 使用Python的urllib库或requests库,下载提取到的图片至本地
示例1:爬取CSDN博客封面图
以下是使用Python3实现的爬取CSDN博客封面图的示例代码:
import requests
import re
# 构造请求头信息
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
# 发起请求获取HTML
url = 'https://blog.csdn.net/qq_38474570/'
res = requests.get(url, headers=headers).text
# 从HTML中提取博客封面图链接
regex = r'<img src="(.*?)" data-original="(.*?)" alt="Avatar">'
img_links = re.findall(regex, res)
#print(img_links)
# 逐个下载博客封面图
for i,link in enumerate(img_links):
img_url = link[1]
img_name = 'img' + str(i+1) + '.jpg'
img_res = requests.get(img_url, headers=headers)
with open(img_name, 'wb') as f:
f.write(img_res.content)
print("Saved img %s" % img_name)
以上代码以CSDN博客为例,使用requests库发起请求获取HTML,使用正则表达式从HTML中提取博客封面图链接,然后使用requests库逐个下载博客封面图至本地。
示例2:爬取Unsplash随机图片
以下是使用Python3实现的爬取Unsplash随机图片的示例代码:
import requests
import json
# 构造请求头信息
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
base_url = "https://source.unsplash.com/random/"
# 获取图片并保存到本地
for i in range(10):
img_url = base_url + str(i+1)
res = requests.get(img_url, headers=headers)
img_name = 'img' + str(i+1) + '.jpg'
with open(img_name, 'wb') as f:
f.write(res.content)
print("Saved img %s" % img_name)
以上代码以Unsplash为例,使用requests库构造随机图片请求URL,并使用requests库将图片逐个保存至本地。
希望能对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3 爬取图片的实例代码 - Python技术站