python抓取网页图片示例(python爬虫)

yizhihongxing

下面是对“python抓取网页图片示例(python爬虫)”的完整攻略。

一、前提准备

在使用Python爬取网页图片之前,我们需要先做好以下准备工作:

  1. 安装Python环境:从Python官网下载安装包,然后按照安装向导进行安装即可。

  2. 安装第三方库requests:在终端或命令行窗口输入 pip install requests 命令即可安装。

  3. 学习HTTP协议知识:由于爬虫的本质就是模拟浏览器向服务器发送请求,因此需要了解HTTP协议的基本知识。

二、Python爬虫抓取网页图片的过程

1. 确定需要爬取的目标URL

通过Chrome/Firefox等浏览器打开目标网页,在页面上找到需要下载的图片,鼠标右击图片,然后选择“复制图片地址”,将图片的URL地址复制到剪贴板中。

例如,我们要下载网站 https://www.example.com 上的一张图片,其URL地址为 https://www.example.com/images/example.jpg 。

2. 发送HTTP GET请求

在Python中使用requests库发送HTTP GET请求,并获取目标URL对应的网页内容。可以使用下面的代码实现:

import requests

url = 'https://www.example.com/images/example.jpg'
response = requests.get(url)

3. 解析图片URL地址

从下载的网页内容中解析出图片的URL地址,例如:

import re

img_url_pattern = re.compile(r'http[s]?:\/\/[^\s]*\.(jpg|jpeg|png|gif|bmp)')
img_url = img_url_pattern.findall(response.text)[0]

以上代码使用了正则表达式匹配图片URL地址,可以匹配各种类型的图片扩展名。

4. 下载图片

使用requests库下载图片,并保存到本地文件中,例如:

img_response = requests.get(img_url)
with open('example.jpg', 'wb') as f:
    f.write(img_response.content)

以上代码将下载的图片保存到example.jpg文件中。

三、示例说明

示例一:爬取百度首页的LOGO图片

import requests
import re

url = 'https://www.baidu.com/'
response = requests.get(url)

img_url_pattern = re.compile(r'".*?\/logo\/.*?\.(jpg|jpeg|png|gif|bmp)"')
img_url = 'https:' + img_url_pattern.findall(response.text)[0]

img_response = requests.get(img_url)
with open('baidu_logo.jpg', 'wb') as f:
    f.write(img_response.content)

以上代码首先向百度首页发送HTTP GET请求,然后从返回的响应中解析出LOGO图片的URL地址,最后下载图片并保存到本地文件baidu_logo.jpg中。

示例二:爬取壁纸网站的图片

import requests
import re

url = 'https://wallhaven.cc/search?q=nature&categories=100&purity=100&sorting=random&order=desc'
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'}

response = requests.get(url, headers=headers)
img_url_pattern = re.compile(r'http[s]?:\/\/[^\s]*\.(jpg|jpeg|png|gif|bmp)')
img_urls = img_url_pattern.findall(response.text)

for i, img_url in enumerate(img_urls):
    img_response = requests.get(img_url)
    with open(f'nature_{i}.jpg', 'wb') as f:
        f.write(img_response.content)

以上代码向壁纸网站发送HTTP GET请求,并从返回的响应中解析出所有符合要求的图片URL地址,然后循环下载图片并保存到本地文件中,文件名格式为“nature_序号.jpg”,其中序号为当前图片在列表中的索引。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python抓取网页图片示例(python爬虫) - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • Shell脚本编程30分钟入门(小结)

    Shell脚本编程30分钟入门(小结) 脚本文件 创建脚本文件: touch my_script.sh 添加可执行权限: chmod +x my_script.sh 执行脚本: ./my_script.sh 基本语法 注释: # 变量: variable_name=value 用户输入: read variable_name 输出: echo “output…

    python 2023年5月13日
    00
  • 个推push数据统计(爬虫)

    该方案基于任务调度框架Gearman,采用Python开发的分布式数据统计系统。   项目的目录结构很简单: # apple at localhost in ~/Develop/getui [11:24:26]$ tree.├── Browser.py├── PickleGearman.py├── SpiderWorker.py└── countPushNu…

    2023年4月12日
    00
  • 在 Linux/Mac 下为Python函数添加超时时间的方法

    为Python函数添加超时时间的方法,可以使用Python标准库signal和threading,其中signal是Linux/Mac下的信号处理模块,threading是Python线程模块。以下是添加Python函数超时时间的两种方法: 方法一:使用signal模块 1.导入signal模块 import signal 2.设置signal信号处理函数t…

    python 2023年6月2日
    00
  • plt.title()中文无法显示的问题解决

    关于“plt.title()中文无法显示的问题解决”的解决攻略,我可以提供以下两条示例进行说明。 首先,我们需要在Matplotlib中添加中文字体的支持。在Windows系统上,可以使用以下步骤进行设置: 首先,需要下载对应的中文字体文件,一般为.ttf格式。以SimHei字体为例,在字体库中搜索“SimHei”,下载SimHei.ttf文件即可。 把Si…

    python 2023年6月6日
    00
  • python 文件与目录操作

    下面是Python文件与目录操作的完整攻略: 文件操作 1. 创建文件 可以使用Python的内置函数open()创建文件。open()函数接收两个参数:文件名和模式。文件名是要创建的文件的名称,模式参数指定文件在何种方式下打开。 例如,以下代码将创建名为“hello.txt”的文件并以写入模式打开此文件: f = open("hello.txt&…

    python 2023年6月2日
    00
  • Python并发爬虫常用实现方法解析

    Python并发爬虫常用实现方法解析 前言 随着互联网的发展,数据已经成为企业和个人获取商业价值的一种重要手段。其中,网络爬虫和数据挖掘技术也同样成为了网络数据获取的关键技术。而在实际应用中,爬虫的爬取效率和并发能力也成为了评价一个爬虫质量的重要指标。所以,在爬虫开发中的并发处理技术是必须掌握的。 本文主要介绍在Python中的爬虫并发处理技术,通过学习并实…

    python 2023年5月14日
    00
  • Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析

    下面就来详细讲解一下Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块的用法: shelve模块 shelve模块是一个简易的对象持久化存储模块,用于将Python对象持久化到磁盘上,读取时可以直接还原成对象。shelve模块的主要接口是open()函数。 用法示例 import shelve…

    python 2023年6月2日
    00
  • python脚本框架webpy入门安装及应用创建

    Python脚本框架web.py入门安装及应用创建完整攻略 1. 安装Web.py Web.py可以使用pip命令来安装,打开终端,输入以下命令: pip install web.py 2. 创建Web.py应用 2.1. 创建项目目录 在你喜欢的位置创建一个新目录,例如project。 mkdir project 2.2. 创建应用主文件 在项目目录中创建…

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