Python 下载 html 中的 图片

简介: Python 下载 html 中的 图片

安装 requests、beautifulsoup4 库

# 安装 requests、beautifulsoup4 库
pip install requests beautifulsoup4 -i https://pypi.tuna.tsinghua.edu.cn/simple

完成代码

# pip install requests beautifulsoup4 -i https://pypi.tuna.tsinghua.edu.cn/simple
import os
import requests
from bs4 import BeautifulSoup
from urllib.parse import urlparse, urljoin
def download_images(url):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36"
    }
    # 发送HTTP请求并获取网页源代码
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        # 使用 BeautifulSoup 解析 HTML 内容
        soup = BeautifulSoup(response.text, "html.parser")
        # 创建一个目录来保存下载的图片
        download_dir = os.path.join(os.getcwd(), 'download_images')
        # 创建保存图片的文件夹
        os.makedirs(download_dir, exist_ok=True)
        # 获取图片链接
        image_links = []
        img_tags = soup.find_all('img')
        for img_tag in img_tags:
            # 获取图片的 URL
            img_url = img_tag.get('src')
            if img_url:
                if img_url.startswith("http"):
                    image_links.append(img_url)
                else:
                    # 将相对路径转换为绝对路径
                    img_url = urljoin(url, img_url)
                    image_links.append(img_url)
        # 下载图片并保存到文件夹
        for i, image_link in enumerate(image_links):
            img_response = requests.get(image_link, headers=headers)
            if img_response.status_code == 200:
                # 提取图片文件名
                img_filename = os.path.basename(urlparse(image_link).path)
                # 保存图片到本地
                with open(os.path.join(download_dir, img_filename), 'wb') as img_file:
                    img_file.write(img_response.content)
                print(f"Downloaded: {img_filename}")
            else:
                print(f"Failed to download image from: {img_url}")
if __name__ == "__main__":
    # url = input("Enter the URL to scrape images from: ")
    url = "http://www.vipsoft.com.cn"
    download_images(url)
目录
相关文章
|
2月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
332 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
2月前
|
Python
Python实用记录(六):如何打开txt文档并删除指定绝对路径下图片
这篇文章介绍了如何使用Python打开txt文档,删除文档中指定路径的图片,并提供了一段示例代码来展示这一过程。
34 1
|
2月前
|
计算机视觉 Python
Python实用记录(一):如何将不同类型视频按关键帧提取并保存图片,实现图片裁剪功能
这篇文章介绍了如何使用Python和OpenCV库从不同格式的视频文件中按关键帧提取图片,并展示了图片裁剪的方法。
95 0
|
24天前
|
XML 数据采集 数据格式
Python 爬虫必备杀器,xpath 解析 HTML
【11月更文挑战第17天】XPath 是一种用于在 XML 和 HTML 文档中定位节点的语言,通过路径表达式选取节点或节点集。它不仅适用于 XML,也广泛应用于 HTML 解析。基本语法包括标签名、属性、层级关系等的选择,如 `//p` 选择所有段落标签,`//a[@href='example.com']` 选择特定链接。在 Python 中,常用 lxml 库结合 XPath 进行网页数据抓取,支持高效解析与复杂信息提取。高级技巧涵盖轴的使用和函数应用,如 `contains()` 用于模糊匹配。
|
1月前
利用html2canvas插件自定义生成名片信息并保存图片
这是一个利用html2canvas插件自定义生成名片信息并保存图片,自定义上传头像,自定义输入个人信息内容,自定义图片名称,并将生成的图片保存到本地
39 1
利用html2canvas插件自定义生成名片信息并保存图片
|
27天前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
19天前
|
机器学习/深度学习 前端开发 数据处理
利用Python将Excel快速转换成HTML
本文介绍如何使用Python将Excel文件快速转换成HTML格式,以便在网页上展示或进行进一步的数据处理。通过pandas库,你可以轻松读取Excel文件并将其转换为HTML表格,最后保存为HTML文件。文中提供了详细的代码示例和注意事项,帮助你顺利完成这一任务。
31 0
|
2月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
173 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
2月前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
|
2月前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。