python 学习笔记第一篇---下载网页内所有图片

Python 保存 网页上的图片 使用Python保存网站上的图片。 测试网站是豆瓣电影上的海报网址 使用以下code成功的建立了一个文件夹,并且在其中 保存该页面上的17张海报图片(仅保存海报图片,其他图片不保存)。 使用`Python`保存网站上的图片。 测试网站是豆瓣电影上的海报网址 使用以下code成功的建立了一个文件夹,并且在其中 保存该页面上的17张海报图片(仅保存海报图片,其他图片不保存)。 from ... 阅读详情

第一步:打开网址,进入开发者模式,选中 Network,选择 Img 然后刷新页面,静静等待页面加载在这里插入图片描述

等待页面加载完成,你可以看到这边有很多图片的资源
在这里插入图片描述
随便点开一个图片选择 Headers 可以看到 Request URL 也就是这张图片的资源路径

在这里插入图片描述
到这里我们就可以开始写第一个方法了,根据图片的资源路径下载图片到本地

# 这是一个示例 Python 脚本。

# 按 Shift+F10 执行或将其替换为您的代码。
# 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。
import os
import urllib.request
from pathlib import Path


# 根据图片的资源路径下载图片到本地
def download_by_url(url):
    # 获取当前文件名作为保存文件夹
    path = os.path.basename(__file__).split('.')[0]
    # 获取 url 中文件名称和扩展名作为保存文件名
    name = url.split('/')[-1]
    # 获取文件扩展名作为文件保存分类
    file_type = name.split('.')[1]
    path += '/' + file_type
    # 判断文件保存路径是否存在,不存在则创建
    dirs = Path(path)
    if not dirs.is_dir():
        os.makedirs(path)

    # 根据文件路径获取文件,如果文件不存在则创建
    # wb: 以二进制格式打开一个文件只用于写入
    file_path = path + '/' + name
    file = open(file_path, 'wb')
    try:
        # 通过 url 获取资源
        request = urllib.request.urlopen(url)
        # 将图片二进制数据写入文件
        file.write(request.read())
        print('文件保存成功!')
    except IOError:
        print('获取资源失败!')
    # 关闭文件
    file.close()


# 按间距中的绿色按钮以运行脚本。
if __name__ == '__main__':
    download_by_url("https://u1.res.netease.com/pc/gw/20201014103243/img/p3/bg3_33_52a4a14.jpg")

# 访问 https://www.jetbrains.com/help/pycharm/ 获取 PyCharm 帮助

运行程序,图片保存成功
在这里插入图片描述

现在我们只要有资源路径就可以下载资源,所以接下来我们需要获取网站内的所有资源路径

第二步:按 ctrl + f 打开控制台搜索,把我们之前得到的 url 粘贴进去,点击刷新,我们可以看到出来了一串数据
在这里插入图片描述
点开数据,我们可以看到我们需要的 url 在一个 js 的 Response 当中,打开 Headers 我们可以看到这个 js 文件的资源路径,通过 js 的资源路径我们就可以获取到 js 里面的数据
在这里插入图片描述
在这里插入图片描述

复制 Response 底下的数据到网上随便找个 json 解析工具格式化一下,可以看到里面有一大堆的 jpg 和 png,所以我们需要把这个大字符串里面的 jpg 和 png 的 url 全部给他拿出来
在这里插入图片描述
仔细观察这边的数据并不是 json 格式的,而且里面有多个对象,转成 json 格式的话不太方便,所以我打算把里面的 jpg 和 png 的 url 单独切割出来
这个使用到正则表达式

"http.*?"

表示获取 "http 开头 " 结尾的字符串
.*? 只匹配符合条件的最少字符

到了这里我们就可以写我们的第二个方法了,通过 js 的资源路径获取 js 里面的所有 jpg 和 png 路径

# 这是一个示例 Python 脚本。

# 按 Shift+F10 执行或将其替换为您的代码。
# 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。
import os
import urllib.request
from pathlib import Path
import re

import requests


# 通过 js 的资源路径获取 js 里面的所有 jpg 和 png 路径
def find_url(url):
    file_url_list = []
    try:
        js_data = requests.get(url)
    except IOError:
        print('获取JS数据失败!')
        return file_url_list
    # 拿到所以 http 开头的 url
    http_url_list = re.findall('"http.*?"', js_data.text)
    for http_url in http_url_list:
        # 找到 jpg 和 png 扩展名的 url
        if http_url.find('.jpg') != -1or http_url.find('.png') != -1:
            # http_url 字符串两头中包含了 " 号,需要截取掉
            file_url_list.append(http_url[1:-1])
    print('Js 内 URL 获取完毕...')
    return file_url_list


# 根据图片的资源路径下载图片到本地
def download_by_url(url):
    # 获取当前文件名作为保存文件夹
    path = os.path.basename(__file__).split('.')[0]
    # 获取 url 中文件名称和扩展名作为保存文件名
    name = url.split('/')[-1]
    # 获取文件扩展名作为文件保存分类
    file_type = name.split('.')[1]
    path += '/' + file_type
    # 判断文件保存路径是否存在,不存在则创建
    dirs = Path(path)
    if not dirs.is_dir():
        os.makedirs(path)

    # 根据文件路径获取文件,如果文件不存在则创建
    # wb: 以二进制格式打开一个文件只用于写入
    file_path = path + '/' + name
    file = open(file_path, 'wb')
    try:
        # 通过 url 获取资源
        request = urllib.request.urlopen(url)
        # 将图片二进制数据写入文件
        file.write(request.read())
    except IOError:
        print('获取资源失败!')
    # 关闭文件
    file.close()


# 按间距中的绿色按钮以运行脚本。
if __name__ == '__main__':
    for url in find_url("https://u1.res.netease.com/pc/gw/20201014103243/js/app/data_13ce3a8.js"):
        download_by_url(url)

# 访问 https://www.jetbrains.com/help/pycharm/ 获取 PyCharm 帮助

程序运行,效果如下
在这里插入图片描述

到这里就可以通过 JS 资源下载图片了,接下来开始第三步,获取网页内全部的JS

第三步:有了第二步经验,我们很快就能找到 JS 的 url 地址来源
在这里插入图片描述
在这里插入图片描述
由此我们知道,通过网站地址获取 js 资源的方式和第二步,通过 js 获取图片资源的方式是一样的,所以我把第二步的方法进行了修改

# 这是一个示例 Python 脚本。

# 按 Shift+F10 执行或将其替换为您的代码。
# 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。
import os
import urllib.request
from pathlib import Path
import re

import requests


# 通过资源路径获取里面的所有URL路径
def find_url(url, file_type):
    file_url_list = []
    try:
        js_data = requests.get(url)
    except IOError:
        print('获取JS数据失败!')
        return file_url_list
    # 拿到所以 http 开头的 url
    http_url_list = re.findall('"http.*?"', js_data.text)
    for http_url in http_url_list:
        # 找到 jpg 和 png 扩展名的 url
        if http_url.find('.' + file_type) != -1:
            # http_url 字符串两头中包含了 " 号,需要截取掉
            file_url_list.append(http_url[1:-1])
    print('URL 获取完毕...')
    return file_url_list


# 根据图片的资源路径下载图片到本地
def download_by_url(url):
    # 获取当前文件名作为保存文件夹
    path = os.path.basename(__file__).split('.')[0]
    # 获取 url 中文件名称和扩展名作为保存文件名
    name = url.split('/')[-1]
    # 获取文件扩展名作为文件保存分类
    file_type = name.split('.')[1]
    path += '/' + file_type
    # 判断文件保存路径是否存在,不存在则创建
    dirs = Path(path)
    if not dirs.is_dir():
        os.makedirs(path)

    # 根据文件路径获取文件,如果文件不存在则创建
    # wb: 以二进制格式打开一个文件只用于写入
    file_path = path + '/' + name
    file = open(file_path, 'wb')
    try:
        # 通过 url 获取资源
        request = urllib.request.urlopen(url)
        # 将图片二进制数据写入文件
        file.write(request.read())
    except IOError:
        print('获取资源失败!')
    # 关闭文件
    file.close()


# 按间距中的绿色按钮以运行脚本。
if __name__ == '__main__':
    for js in find_url("http://u1.163.com/index.html", 'js'):
        for jpg in find_url(js, 'jpg'):
            download_by_url(jpg)
        for png in find_url(js, 'png'):
            download_by_url(png)


# 访问 https://www.jetbrains.com/help/pycharm/ 获取 PyCharm 帮助

至此,全篇结束(本文仅作技术研究,不涉及任何商业用途)

用python3从网页中爬取图片下载到本地 #####前提:使用的python是python3版本,2和3还是有很大的区别的。 1、先找一个有图片的网页(这里找到的是新浪:http://photo.sina.com.cn)。右键,选择最后一个检查,就可以看到网页的源代码。然后是图片的都是在标签()中。 urllib.request是爬取网页时需要用到的一个库,re是正则匹配的一个库。 具体可以参考一下这篇文章: https://blog.c... 阅读详情

相关推荐

Python教程:使用Python下载网站上的所有图片

在本教程中,我将向您展示如何使用Python编程语言下载特定网站上的所有图片。然后,我们将使用Python的urllib库来下载图片。我们将使用目标网站的URL作为输入,并使用requests.get()函数来获取网页的内容。通过编写这个简单的脚本,您可以方便地下载网站上的所有图片,并在本地进行使用。我们将使用urllib.request.urlretrieve()函数来下载图片,并将其保存到本地文件系统。在解析后的HTML中,我们将查找所有的图片链接。替换为您要下载图片的网站的URL,并将。

CodeHeroicX的博客 701

python保存简单网页图片到本地(详细步骤)

目录 工具准备 一、通过pycharm安装requests库 二、步骤 1.引入库 2.读入数据 总结 工具准备 python python中requests库,os库 图片地址 一、通过pycharm安装requests库 File---->Settings 二、步骤 1.引入库 代码如下: # 需要用到requests库来获取图片地址,用os库打开和写入文件。所以首先要先引用这两个库。 impo...

weixin_45850382的博客 9406

Python:使用requests库下载图片(含完整源码)

在这个函数中,我们首先检查了指定的文件夹是否存在,不存在则创建文件夹。你可以将其复制到一个.py文件中并运行它,以下载Python的标志图像并将其保存到指定目录中。最后,我们可以在main函数中调用download_image函数,传递图片的URL和文件夹路径作为参数即可。在这篇文章中,我将介绍如何使用Python的requests库实现下载图片的功能,并提供完整的源代码。接下来,我们需要导入requests库和os库,os库主要是用于创建文件夹。最后,我们在控制台输出了下载完成的消息以供调试使用。

学习使你进步。 3489

python爬虫入门:批量爬取网站图片并保存

通过爬虫技术对图片进行批量爬取可以说是我们必备的爬虫技巧之一,网络爬虫也叫做网络机器人,可以代替人们自动地在互联网中进行数据信息的采集与整理。在大数据时代,信息的采集是一项重要的工作,如果单纯靠人力进行信息采集,不仅低效繁琐,搜集的成本也会提高。这里先对要运用的第三方库进行安装。本文选取的函数库主要为requests、lxml、etree。打开anaconda prompt,这是anaconda的交互界面,很多指令在该界面直接输入,便可直接下载众多函数库。

m0_74942241的博客 7262

Python学习笔记:爬取网页图片

Python学习笔记:爬取网页图片 上次我们利用requests与BeautifulSoup爬取了豆瓣《下町火箭》短评,这次我们来学习爬取网页图片。 比如想爬取下面这张网页的所有图片。网址:http://www.netbian.com/fengjing/ 查看源代码,看到图片是jpg格式,我们利用正则表达式来过滤。 编写Python程序:爬取网页图片.py import req...

howard2005的专栏 847

告别unittest!用Pytest+Fixture重构你的Python测试代码(附实战案例)

本文详细介绍了如何从unittest迁移到Pytest框架,重点解析了Pytest的Fixture机制如何提升测试效率和代码简洁性。通过实战案例展示了Pytest在减少代码量、提升调试效率和资源管理方面的优势,帮助开发者重构Python测试代码。

weixin_26749245的博客 206

python爬取网页图片并下载

以上就是python中最基础的爬虫案例,当然实际项目中基本不会有用这种写法,因为效率太低了,本篇文章只是为了以最直观的方式呈现爬虫下载图片的原理data = {Win64;Win64;Win64;

AZURE060606的博客 4116

QGIS基于快鸟(QuickBird)影像统计小麦种植面积

​01数据情况 本次选用某地4月份快鸟(QuickBird)影像为例,使用QGIS演示提取小麦播种情况,并按照200米*200米分区计算种植面积的过程。 注:本文对应的操作视频作为今天第二篇推送同时发布,习惯看视频的朋友可以点击观看。 附数据压缩包: 链接:https://pan.baidu.com/s/1JVUS8uAOR61RxC1n9Or9_w 提取码:qgis 含快鸟影像QB_subset.tif和200*200米分区矢量图层200Mgrid.shp。 ...

QGISClass的博客 1979

Python爬虫爬取网页上的所有图片

Python爬虫爬取网页上的所有图片。

简简单单的学习笔记,致力于帮助更多前进路上的朋友~ 2万+

Cortex-M内核DWT周期计数器:从原理到STM32实战时间测量与性能分析

在嵌入式开发中,代码执行耗时测量是性能优化的基础。除了依赖外设定时器或SysTick,ARM Cortex-M3/M4/M7内核自带的DWT(Data Watchpoint and Tracker)调试组件提供了一种极低侵入性的硬件计时方案。其内部的32位周期计数器CYCCNT跟随内核时钟递增,无需占用额外引脚或定时器资源,即可实现纳秒级分辨率的函数耗时测量、中断响应分析及延时实现。从DWT寄存器配置、周期差值计算到基于SystemCoreClock的微秒换算,开发者可以快速搭建一套轻量级性能分析工具。本文

weixin_34216614的博客 186

Cisco Secure ACS 5.8.0.32 安装 + Crack 教程

在ESXi 6.7 上经历过无数次的安装尝试测试了各种兼容版本都没有安装成功,记最后一次安装成功的过程.

Junior's Blog 3537

python批量下载网页文件-Python批量下载网页图片详细教程

目标:爬取某个网站上n多页的链接,每个链接有n多张图片,每一页对应一个文件夹,每个文件夹包含n个链接所对应的文件夹。步骤1:获得网页的所有链接,访问所有链接,获得链接里的图片地址。步骤2:根据图片地址下载图片。下载jpg格式的图片其实很容易。1 socket = urllib2.urlopen(url)2 data = socket.read()3 with open(path, “wb“) as...

weixin_37988176的博客 3700

VS Code配置Java开发环境避坑指南:从JDK到Spring Boot插件全流程

本文详细介绍了在VS Code中配置Java开发环境的完整流程,涵盖JDK选择、环境变量配置、核心插件安装、构建工具优化及Spring Boot项目专项设置。特别针对常见问题提供避坑方案,帮助开发者快速搭建高效稳定的开发环境,提升Java和Spring Boot开发效率。

weixin_28839699的博客 979

python学习笔记3-爬取指定网页的图片

在上一篇学习笔记中,python学习笔记2-下载网络图片,简单记下了已知网络图片地址,下载图片的过程。 但是,一个网页里图片很多,怎么让python自动解析地址,再挨个下载图片呢? 这篇算是上篇的一个继续。 要使用本代码,要安装 3个模块: requests、BeautifulSoup(这个要安装 BeautifulSoup4,简写为bs4,否则是老版本)、lxml。 安装方法: ...

九天翔龙的技术博客 1577

App渗透 - 人脸识别登录绕过

一、APP抓包和逆向破解加密算法打开APP是一个登录框抓包后发现参数被加密了使用Jadx脱源码发现,并没有加壳也没有混淆,运气很好根据经验,先搜索Encrypt、Decrypt等关键字,发现在Common.js中有一个encryptData函数定位过去,一套加解密算法都写好了放在这放到浏览器console里面调试,果然没错二、寻找注入点首先测试了一下注入明文:{"userName":"TEST'...

渗透测试研究中心 2823

100天精通Python(数据分析篇)——第53天:初识pandas模块_基础介绍

一、初始pandas 1. 什么是pandas? 2. 为什么要学习pandas? 3. pandas的优势 4. 下载安装pandas 二、Pandas的数据类型 1. Series 2. DataFrame

努力让自己发光,对的人才能迎着光而来 17万+

Python下载网页图片

Python版本是3.3.2 主要就是 urllib相对于2.x有很大变化# -*- coding:utf-8 -*- import urllib.request path = "D:\\Download" url = "http://pic2.sc.chinaz.com/files/pic/pic9/201309/apic520.jpg" name ="D:\\download\\1.jp

wudishine的专栏 3万+

液态神经网络(Liquid Neural Networks)从线虫大脑到下一代 AI

液态神经网络(Liquid Neural Networks,LNN)是一类具有动态内部结构的神经网络,其灵感来源于生物神经系统,尤其是大脑中神经元如何以复杂、非线性的方式响应外部刺激。与传统神经网络不同,液态神经网络的每个神经元在处理输入时,不再是静态线性或非线性变换,而是基于一个微分方程模型进行响应。这种建模方式使神经元的行为具有时间连续性和动态适应性。换句话说,它不仅“记住”过去的信息,还能根据当前环境实时调整自身的动态特性,这对于感知、决策、预测等任务都非常关键。

hello.reader 7411

下载网页图片方法大全

在Chrome浏览器中打开“开发者工具”(快捷键F12),然后选择 “Network” 选项卡,在过滤器中输入 “img” 或 “png/jpg” 等图片文件类型,就能筛选出页面中的所有图片资源了。对于Google Chrome浏览器,用户可以通过Chrome 应用商店下载 “Save Image As Type” 插件,在浏览器上右击选定图片之后,使用该插件可以快速批量下载页面中的所有图片。但是,手动下载一个一个图片显然效率较低,因此这里将为大家介绍多种下载网页图片的方法,方便用户快速获取所需图片。

sfjsffjjj的博客 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python简单的爬取网页上的图片

如果需要大量的图片,在网页中一个一个下载,耗费时间太长了,如果可以有程序自动帮我们下载图片,这样就最好了,既快速又方便。 接下来,我将把学习笔记记录如下。 参考链接:https://www.cnblogs.com/dearvee/p/6558571.html 参考链接:https://blog.youkuaiyun.com/zjy18886018024/article/details/80001097 参考链接:https://www.cnblogs.com/roboot/p/11410323.html 参考

简简单单 4854

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

python抓取网页内容并下载图片

使用python抓取网页内容,并且下载网页内容中的图片。使用urllib库抓取网页内容,该库是python自带,不需要安装。由于我这边抓取的是国外的网站,用到了代理,且设置User-Agent防止网站对没有User-Agent的请求过滤爬虫类代码Scrapy.py:import urllib.request class Scrapy: proxy = '' opener = '' pro...

CyborgLin的博客 4626

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python爬虫学习笔记(一)-- beautifulsoup 解析网页文件下载网页图片

上篇解决了编码问题,下面在得到网页文件之后,我们需要解析我们的文件,得到我们需要的内容。这里使用beautifulsoup模块。 import requests from bs4 import BeautifulSoup import sys print(sys.getdefaultencoding())#utf-8 response = requests.get("https://www....

梦否 3043

python下载网页里面所有的图片-Python批量下载网页图片详细教程

很多朋友在网上查找批量下载图片的方法~发觉挺凌乱的,无从下手。这里绿茶小编就来跟大家分享下使用Python批量下载图片方法。目标:爬取某个网站上n多页的链接,每个链接有n多张图片,每一页对应一个文件夹,每个文件夹包含n个链接所对应的文件夹。步骤1:获得网页的所有链接,访问所有链接,获得链接里的图片地址。步骤2:根据图片地址下载图片。下载jpg格式的图片其实很容易。1 socket = urllib...

weixin_37988176的博客 892

python下载url图片_Python2下载单张图片和爬取网页图片

一、需求分析1、知道图片的url地址,将图片下载到本地。2、知道网页地址,将图片列表中的图片全部下载到本地。二、准备工作1、开发系统:win7 64位。2、开发环境:python2.7。3、开发工具:PyCharm。4、浏览器:Chrome。三、操作步骤A.知道图片的url地址,将图片下载到本地。a1、打开Chrome,随意找到一个图片网站。a2、打开开发者工具(f12键或者fn+f12键),选择...

weixin_39719476的博客 265

PYthon 批量下载网页图片

from urllib import requestimport threadingfrom time import sleep,ctimeflist = [ "http://xxxx.com/upload/d1b69b20.jpg",\          "http://xxxx.com/upload/c9443ddb.jpg",\          "http://xxxx.com/uploa

RealPresence and Media Collaboration 专栏 892

通过python进行单网页内图片爬取及下载

在这篇文章中,我想讨论的是: 利用python进行单网页内图片爬取及下载过程中: 1. 图片爬取步骤 2.解析网站代码的方式: 2.1 正则表达式解析 2.2 Beautiful soup模块解析 2.3 Beautiful soup模块内搭配正则表达式 3.下载图片: 3.1利用正则表达式识别图片后缀名:知乎 4.推荐书籍、教程

fancyfancy2017的博客 677
上一篇: mysql sql 练习
下一篇: idea maven 仓库 jar 包下载不来下解决方案
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值