python批量處理URL并提取內(nèi)容且按序保存到本地
這個是我在上網(wǎng)找資料的時候,發(fā)現(xiàn)下載資料PDF居然要付費,然后我查看網(wǎng)頁源代碼發(fā)現(xiàn)它網(wǎng)頁的資料都是PDF的png格式,每一個圖片都是寫在一個DIV標簽里面的,手動操作肯定比較復雜,(說明,博主我是學C++的,對python不是很懂),我知道python肯定可以實現(xiàn)這事,于是馬上學習了一波。
一、需求分析
網(wǎng)頁的頁面源代碼如下圖所示,它的每一個<div>標簽里面的img的URL就是資料的內(nèi)容,可以直接通過URL來打開資料圖片,然后“另存為”即可,但是手動操作太麻煩了(當然有同學說直接用爬蟲,也可以哈,但是我沒用),要是能自動化批量給它一個全是URL的文本文件,讓python幫我逐一打開然后按照順序命好名稱逐一保存到本地文件就好了。
但是網(wǎng)頁源碼是HTML格式的,手動提取網(wǎng)頁源碼的URL也太慢了,所以我們還需要一個python函數(shù)來幫我們從給定的HTML的文本文件里面提取出URL按行保存到指定文本文件里。

二、從HTML中提取可用URL
1、先在項目目錄下新建一個文本文件命名為html.txt。
2、將網(wǎng)頁源碼中所需要的地方復制到html.txt中。如下圖所示

3、新建一個py文件,在里面寫具體實現(xiàn),通過觀察發(fā)現(xiàn)所有目標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、執(zhí)行完成后我們就得到了全是目標URL的一個文本文件了

三、批量執(zhí)行URL按序保存到本地
1、打開HTTP.txt文件,按行取出URL,打開URL判斷是否能正常打開,不需要執(zhí)行瀏覽器打開這一操作,只需要得到返回值即可。
2、需要URL的順序和保存的png一一對應,比如第一行URL對應圖png1,所以考慮按序命名,設置計數(shù)器。根據(jù)計算器生成png文件的名稱。
3、保存到指定文件夾,且命名好。
import requests
# 創(chuàng)建一個計數(shù)器
count = 1
# 打開網(wǎng)址文件
with open('HTTP.txt', 'r') as file:
# 逐行讀取網(wǎng)址
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}')
# 增加計數(shù)器
count += 1
else:
print(f'Failed to download image from {url}')
4、運行代碼,查看結果。如圖

到此這篇關于python批量處理URL并提取內(nèi)容且按序保存到本地的文章就介紹到這了,更多相關python處理URL并提取內(nèi)容內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解Python實現(xiàn)URL監(jiān)測與即時推送
這篇文章主要為大家介紹了Python實現(xiàn)URL監(jiān)測與即時推送,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-11-11
python中使用百度音樂搜索的api下載指定歌曲的lrc歌詞
這篇文章主要介紹了python中使用百度音樂搜索的api下載指定歌曲的lrc歌詞,同時也分析出了歌曲的下載地址,需要的朋友可以參考下2014-07-07
Python實現(xiàn)數(shù)據(jù)庫編程方法詳解
這篇文章主要介紹了Python實現(xiàn)數(shù)據(jù)庫編程方法,較為詳細的總結了Python數(shù)據(jù)庫編程涉及的各種常用技巧與相關組件,需要的朋友可以參考下2015-06-06
2026年Python安裝與PyCharm安裝配置的保姆級教程
這篇文章主要為大家詳細介紹了2026年Windows下Python安裝與PyCharm安裝配置的保姆級教程,感興趣的小伙伴可以跟隨小編一起學習一下2026-03-03

