python批量处理URL并提取内容且按序保存到本地

 更新时间:2025年07月17日 10:08:42   作者:Code建筑师  
这篇文章主要为大家详细介绍了如何使用python实现批量处理URL并提取内容且按序保存到本地,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下

这个是我在上网找资料的时候,发现下载资料PDF居然要付费,然后我查看网页源代码发现它网页的资料都是PDF的png格式,每一个图片都是写在一个DIV标签里面的,手动操作肯定比较复杂,(说明,博主我是学C++的,对python不是很懂),我知道python肯定可以实现这事,于是马上学习了一波。

一、需求分析

网页的页面源代码如下图所示,它的每一个<div>标签里面的img的URL就是资料的内容,可以直接通过URL来打开资料图片,然后“另存为”即可,但是手动操作太麻烦了(当然有同学说直接用爬虫,也可以哈,但是我没用),要是能自动化批量给它一个全是URL的文本文件,让python帮我逐一打开然后按照顺序命好名称逐一保存到本地文件就好了。

但是网页源码是HTML格式的,手动提取网页源码的URL也太慢了,所以我们还需要一个python函数来帮我们从给定的HTML的文本文件里面提取出URL按行保存到指定文本文件里。

二、从HTML中提取可用URL

1、先在项目目录下新建一个文本文件命名为html.txt。

2、将网页源码中所需要的地方复制到html.txt中。如下图所示

3、新建一个py文件,在里面写具体实现,通过观察发现所有目标URL均以png结尾,可以使用正则表达式匹配,取出目标URL 。然后保存到指定的文本文件HTTP.txt中。代码如下:

import re

# 打开HTML文件
with open('html.txt', 'r') as file:
    html_content = file.read()

# 使用正则表达式提取URL
pattern = r'<img\s+data-src="([^"]+\.png)"'
urls = re.findall(pattern, html_content)

# 将URL保存到http.txt文件中
with open('HTTP.txt', 'w') as file:
    for url in urls:
        file.write(url + '\n')

4、执行完成后我们就得到了全是目标URL的一个文本文件了 

三、批量执行URL按序保存到本地

1、打开HTTP.txt文件,按行取出URL,打开URL判断是否能正常打开,不需要执行浏览器打开这一操作,只需要得到返回值即可。

2、需要URL的顺序和保存的png一一对应,比如第一行URL对应图png1,所以考虑按序命名,设置计数器。根据计算器生成png文件的名称。

3、保存到指定文件夹,且命名好。

import requests

# 创建一个计数器
count = 1

# 打开网址文件
with open('HTTP.txt', 'r') as file:
    # 逐行读取网址
    for line in file:
        url = line.strip()  # 去除行尾的换行符和空格

        # 下载图片并保存到本地
        response = requests.get(url)
        if response.status_code == 200:
            # 生成图片文件名
            filename = f'{count}.jpg'

            # 保存到桌面文件夹
            save_path = f'F:/桌面文件夹/tupian/{filename}'
            with open(save_path, 'wb') as image_file:
                image_file.write(response.content)
            print(f'Saved image: {save_path}')

            # 增加计数器
            count += 1
        else:
            print(f'Failed to download image from {url}')

4、运行代码,查看结果。如图

到此这篇关于python批量处理URL并提取内容且按序保存到本地的文章就介绍到这了,更多相关python处理URL并提取内容内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Pygame与OpenCV联合播放视频并保证音画同步

    Pygame与OpenCV联合播放视频并保证音画同步

    Pygame的Movie模块已经废弃多年,本文主要介绍了Pygame与OpenCV联合播放视频并保证音画同步,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 升级keras解决load_weights()中的未定义skip_mismatch关键字问题

    升级keras解决load_weights()中的未定义skip_mismatch关键字问题

    这篇文章主要介绍了升级keras解决load_weights()中的未定义skip_mismatch关键字问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 跟老齐学Python之玩转字符串(3)

    跟老齐学Python之玩转字符串(3)

    字符串是一个很长的话题,纵然现在开始第三部分,但是也不能完全说尽。因为字符串是自然语言中最复杂的东西,也是承载功能最多的,计算机高级语言编程,要解决自然语言中的问题,让自然语言中完成的事情在计算机上完成,所以,也不得不有更多的话题。
    2014-09-09
  • 20行代码教你用python给证件照换底色的方法示例

    20行代码教你用python给证件照换底色的方法示例

    这篇文章主要介绍了20行代码教你用python给证件照换底色的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • python的函数参数你了解吗

    python的函数参数你了解吗

    这篇文章主要为大家详细介绍了python的函数参数,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • python -m pip install 和 pip install 的区别解析

    python -m pip install 和 pip in

    python -m pip install <package> 使用了 -m 参数来确保以 Python 模块的形式运行 pip,适用于确保在不同的环境中正确使用 pip,这篇文章主要介绍了python -m pip install 和 pip install 的区别,需要的朋友可以参考下
    2023-07-07
  • windows11环境安装django项目GNU gettext工具的步骤

    windows11环境安装django项目GNU gettext工具的步骤

    Django 框架具有很好的 I18N 和 L10N 的支持,其实现是基于 GNU 的 gettext,本文主要介绍了windows11环境安装django项目GNU gettext工具的步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • pandas groupby分组对象的组内排序解决方案

    pandas groupby分组对象的组内排序解决方案

    这篇文章主要介绍了pandas groupby分组对象的组内排序解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • pyqt5自定义信号实例解析

    pyqt5自定义信号实例解析

    这篇文章主要介绍了pyqt5自定义信号实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Python中PySide2的安装及配置

    Python中PySide2的安装及配置

    在python中,支持图形化界面开发的库有很多,今天主要介绍一下PySide2这个库。具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07

最新评论