python3 爬取图片的实例代码

yizhihongxing

关于“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日

相关文章

  • python中文乱码的解决方法

    下面是详细的攻略: Python 中文乱码的解决方法 1. 理解编码和解码 Python的字符编码遵循Unicode标准,但在不同的操作系统和编程环境下会有不同的默认字符编码,导致中文输出出现乱码等问题。解决中文输出乱码的问题,需要先理解编码和解码的概念。 编码: 把字符转换成字节序列的过程。因为计算机只能处理二进制数据,所以不能直接处理文本,需要先把文本转…

    python 2023年5月13日
    00
  • Python定时任务实现方案

    下面是详细讲解“Python定时任务实现方案”的完整攻略: 什么是定时任务 定时任务是指在指定的时间或时间间隔内,定期运行某些特定代码的程序任务,它在日常生活和工作中应用广泛。例如,在备份数据库、爬虫数据、发送定时邮件等场景中,都需要运用到定时任务。 Python实现定时任务的方式 Python实现定时任务的方式有多种,常见的方式有: 使用第三方库:cele…

    python 2023年5月19日
    00
  • python使用BeautifulSoup分页网页中超链接的方法

    Python使用BeautifulSoup分页网页中超链接的方法 在本教程中,我们将介绍如何使用Python和BeautifulSoup库来分析分页网页中的超链接。我们将提供两个示例,演示如何获取分页网页中的所有超链接和特定页面的超链接。 安装BeautifulSoup库 在使用BeautifulSoup库之前,我们需要先安装它。可以使用pip命令来安装Be…

    python 2023年5月15日
    00
  • python中sample函数的介绍与使用

    Python中sample函数的介绍与使用 random模块中的sample()函数用于从一个序列中随机选择指定长度的元素并返回一个新的列表对象。 语法 sample()函数的语法如下: random.sample(sequence, k) 其中,sequence为需要进行抽样的序列,k表示需要抽取的元素个数。 示例说明 示例1:抽取列表中的元素 例如,有一…

    python 2023年5月14日
    00
  • Django中使用极验Geetest滑动验证码过程解析

    下面是“Django中使用极验Geetest滑动验证码过程解析”的完整攻略。 什么是极验Geetest滑动验证码 极验Geetest滑动验证码是一种可以保障网站安全性的验证机制。通过综合分析用户行为特征,实现对机器人和人机协作攻击的防御。 Django中使用极验Geetest滑动验证码的步骤 1. 获取验证码 使用极验Geetest需要先到极验官网注册账号,…

    python 2023年6月3日
    00
  • python基础之for循环

    当我们需要对一个序列或其他可迭代对象的元素逐一进行操作时,可以使用for循环来遍历这个序列。for循环是Python中最常用的循环结构之一,它的基本语法如下: for 变量 in 可迭代对象: 执行代码块 其中,变量是一个临时变量,它会依次赋值为可迭代对象中的每个元素,然后执行代码块。可迭代对象可以是列表、元组、字符串、集合、字典等。 1. 遍历列表 假设我…

    python 2023年5月14日
    00
  • pyinstaller通过spec文件打包py程序的步骤

    下面是详细讲解“pyinstaller通过spec文件打包py程序的步骤”的完整攻略。 1. 安装PyInstaller 首先,你需要安装PyInstaller,可以通过pip进行安装,命令如下: pip install pyinstaller 2. 生成spec文件 spec文件用于描述打包的过程以及依赖等信息,使用PyInstaller可以生成一个spe…

    python 2023年5月19日
    00
  • Python编程入门指南之函数

    Python编程入门指南之函数攻略 函数简介 函数是一段可重用的代码,可以通过函数名进行调用。在Python中,定义一个函数使用关键字def,其语法结构为: def function_name(arg1, arg2, …): # function body return result 函数名后接一对小括号,括号内是函数的参数。函数的主体部分可以包含多条语…

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