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

下面是对“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日

相关文章

  • selenium+python自动化测试环境搭建步骤

    下面是selenium+python自动化测试环境搭建步骤的攻略: 环境准备 安装Python 访问Python官网下载Python安装包并安装,建议选择Python 3.x版本。 安装pip pip是Python包管理工具,安装Python后默认会自带pip,可以通过执行以下命令,查看是否安装成功。 pip –version 安装selenium 执行以…

    python 2023年5月19日
    00
  • Python 时间操作datetime详情(下)

    Python 时间操作datetime详情(下) 在《Python 时间操作datetime详情(上)》中,我们已经介绍了 date, time, datetime 对象的基本方法。在本篇文章中,我们将继续介绍 datetime 对象的进阶用法。 一、字符串和 datetime 之间的转换 datetime 对象转字符串 datetime 对象可以使用 st…

    python 2023年5月14日
    00
  • python实现微信接口(itchat)详细介绍

    Python实现微信接口(itchat)详细介绍 介绍 itchat是一款开源的微信个人号接口,使用python调用微信从未如此简单。使用非常简单,能够快捷地实现登录、自动回复、图灵机器人聊天等功能,还可以实现微信定时发送消息和定时任务等,是一个十分强大的工具。 安装 安装pip(如果已经安装,则跳过此步骤) sudo apt-get install pyt…

    python 2023年5月19日
    00
  • python 通过logging写入日志到文件和控制台的实例

    下面我将介绍Python通过logging写入日志到文件和控制台的实例,具体步骤如下: 1.导入logging模块 import logging 2.设置日志格式 以时间戳、日志级别、模块名称、行号、线程ID、日志信息为格式,具体可根据需求自定义: LOG_FORMAT = "%(asctime)s [%(levelname)s] [%(modul…

    python 2023年6月5日
    00
  • python进程和线程用法知识点总结

    Python进程和线程用法知识点总结 什么是进程和线程? 在操作系统中,进程是一个程序执行时的实例,拥有独立的内存空间和系统资源,线程是程序执行的最小单位,属于进程,多个线程可以共享一个进程的资源。 进程和线程的优点和缺点 进程的优点 稳定性高,一个进程崩溃不会影响其他进程的稳定性; 安全性高,进程之间是独立的,一个进程不能访问其他进程的资源; 可以利用多核…

    python 2023年5月19日
    00
  • python实现scrapy爬虫每天定时抓取数据的示例代码

    下面是python实现scrapy爬虫每天定时抓取数据的完整攻略。 1. 安装相关依赖 首先,需要安装以下依赖: scrapy twisted schedule 可以使用以下命令安装: pip install scrapy twisted schedule 2. 编写爬虫代码 在编写爬虫代码时,需要考虑到定时任务和自动运行。以下是一个示例代码: import…

    python 2023年5月14日
    00
  • python简单利用字典破解zip文件口令

    对于“python简单利用字典破解zip文件口令”的攻略,我可以提供以下建议: 1. 确定字典攻击方式 破解zip文件通常采用字典攻击方式。字典攻击的原理是通过尝试密码字典中每一个密码来逐一破解目标文件的密码。在此之前,我们需要确定口令字典的来源。有两种常见的方式: 常见口令字典:可以在网上下载一份常见的密码字典。这些密码主要是由一些常见的单词、数字、日期等…

    python 2023年6月3日
    00
  • python实现每天自动签到领积分的示例代码

    下面是详细讲解“python实现每天自动签到领积分的示例代码”的完整攻略。 1. 了解签到网站的接口和API 首先,我们需要了解签到网站的接口和API。通常来说,签到网站会提供签到的相关接口和API供开发者使用。我们可以查看该网站的开发者文档来获取接口和API的相关信息。 例如,我们要做的是一个京东商城签到程序,我们可以去京东开放平台查看签到相关API接口的…

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