python3 爬取图片的实例代码

关于“python3 爬取图片的实例代码”的完整攻略,我可以提供以下参考。

标准流程

  1. 确定目标网站和具体的爬取页面
  2. 分析页面结构和请求方式,确定获取图片的方式
  3. 使用Python的requests库向目标页面发起请求,并解析响应内容
  4. 通过正则表达式或BeautifulSoup等HTML解析库,从得到的HTML中提取图片链接
  5. 使用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技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • CentOS中升级Python版本的方法详解

    当使用CentOS操作系统时,很多情况下需要升级Python版本以满足用户的需求。本文将详细介绍在CentOS中升级Python版本的方法。 准备工作 在开始操作前,需要确保系统中已经安装了一些必要的工具和软件,包括: wget gcc zlib-devel readline-devel bzip2-devel sqlite-devel 运行以下命令来安装这…

    python 2023年5月30日
    00
  • Python实现简单的文件操作合集

    我来为你讲解“Python实现简单的文件操作合集”的完整攻略。整个过程涉及的内容包括文件读取、文件写入、文件删除、文件重命名等基本操作。 文件读取 读取整个文件 可以使用Python内置的open()函数读取整个文件,示例如下: with open(‘filename.txt’) as f: contents = f.read() print(content…

    python 2023年5月19日
    00
  • Python中datetime常用时间处理方法

    Python中datetime常用时间处理方法 Python中datetime是常用的时间处理模块,主要提供时间日期的各种操作方法。在日常开发中,经常会用到各种时间处理、格式化时间等功能,本文将介绍一些Python中datetime常用的时间处理方法。 获取当前时间 获取当前时间可以使用datetime模块中的datetime类的now()方法,该方法返回当…

    python 2023年6月2日
    00
  • python 爬取壁纸网站的示例

    我们来详细讲解一下如何用 Python 爬取壁纸网站。 1. 确定爬取目标 首先,我们需要确定需要爬取的壁纸网站。以 Unsplash 壁纸网站为例。 2. 分析页面结构 打开 Unsplash 网站,我们可以看到各种精美的壁纸,每一页都有多张图片。我们可以使用 Chrome 浏览器自带的开发者工具,通过检查页面元素来分析页面结构。可以看到每张图片都被包含在…

    python 2023年5月14日
    00
  • 在生产中是否需要在 python web 中使用 nginx 或 apache?

    【问题标题】:is it neccesary to use nginx or apache for python web in production?在生产中是否需要在 python web 中使用 nginx 或 apache? 【发布时间】:2023-04-01 06:06:01 【问题描述】: 我正在使用 ariadne 和 fastapi 开发一个 …

    Python开发 2023年4月8日
    00
  • Python 统计位数为偶数的数字代码详解

    下面我将详细讲解“Python 统计位数为偶数的数字代码详解”的完整攻略。 标题 Python 统计位数为偶数的数字代码详解 问题描述 给定一个整数列表,编写一个函数来统计列表中有多少个数的位数是偶数。 示例 输入: nums = [12,345,2,6,7896]输出: 2解释:12是 2 位数字(偶数位数字)。345是 3 位数字(奇数位数字)。2是 1…

    python 2023年6月5日
    00
  • python3实现域名查询和whois查询功能

    下面是 “Python3实现域名查询和whois查询功能”的完整攻略。 前置条件 在开始之前,需要安装 whois 和 python-whois 两个库。可以通过以下命令进行安装: pip install python-whois whois 其中,python-whois 是一个python的whois查询工具库,而whois则是支持在命令行中查询whoi…

    python 2023年6月3日
    00
  • Python threading Local()函数用法案例详解

    Python threading Local()函数用法案例详解 在Python多线程编程中,常常会遇到线程共享数据的问题。而local()函数可以在多线程环境中通过线程本地存储(TLS)技术解决共享数据问题。本文将详细讲解local()函数的用法及其案例。 一、什么是local()函数 local()函数是Python threading模块提供的一个线程…

    python 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部