最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)一鍵提取頁面所有鏈接

 更新時(shí)間:2025年08月03日 10:46:36   作者:Kyln.Wu  
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)一鍵提取頁面所有鏈接,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

鏈接提取, 正則神器, 批量文本, 小白腳本

故事開場

周一上午,老板甩給你一個(gè) 200 頁的會議記錄 TXT:“把里面所有網(wǎng)址整理成 Excel,午飯前給我!”

你打開文檔一看,密密麻麻全是文字,網(wǎng)址藏在各個(gè)角落,復(fù)制粘貼能點(diǎn)到手抽筋。

這時(shí),你從抽屜掏出“小白瑞士軍刀”——links_extractor.py

把它拖到 TXT 文件上,雙擊,三秒后自動生成 xxx_links.txt,所有網(wǎng)址排隊(duì)站好。

你直接復(fù)制進(jìn) Excel,泡杯咖啡的功夫就交差。痛點(diǎn)解決:再也不用肉眼找鏈接,省時(shí) 99%。

代碼解析

功能塊 1:把文件讀進(jìn)來

像翻書一樣,先把整本 TXT 讀進(jìn)內(nèi)存,后面才好找東西。

def read_text_file(file_path):
    with open(file_path, encoding='utf-8') as f:
        return f.read()

encoding='utf-8' 防止中文亂碼,小白也能放心用。

功能塊 2:用“網(wǎng)址捕手”抓鏈接

正則表達(dá)式就像一張漁網(wǎng),http 開頭或 www 開頭都能一網(wǎng)打盡。

import re
def extract_urls(text):
    pattern = r"(?:(?:https?|ftp):\/\/)?[\w/\-?=%.]+\.[\w/\-?=%.]+"
    return re.findall(pattern, text)

re.findall 一次性把所有匹配結(jié)果裝進(jìn)列表,方便后面輸出。

功能塊 3:把結(jié)果寫成新文件

抓到的鏈接按行寫進(jìn) 原文件名_links.txt,清爽不覆蓋原文件。

def export_urls(urls, file_path):
    with open(file_path.replace(".txt", "_links.txt"), "w", encoding='utf-8') as f:
        f.write("\n".join(urls))

一行一個(gè)鏈接,Excel 直接粘貼即可。

功能塊 4:一鍵啟動入口

把上面三塊拼起來,雙擊腳本就能跑。

if __name__ == "__main__":
    import sys
    get_urls(sys.argv[1])

運(yùn)行方式:

python links_extractor.py 會議記錄.txt

如果還想更厲害

擴(kuò)展點(diǎn)子 1:批量掃描整個(gè)文件夾

一次性抓完目錄里所有 TXT,結(jié)果合并到一張表。

import glob, os
all_urls = []
for txt_file in glob.glob("*.txt"):
    all_urls.extend(extract_urls(read_text_file(txt_file)))
with open("all_links.txt", "w", encoding='utf-8') as f:
    f.write("\n".join(set(all_urls)))  # set 去重

雙擊后,整個(gè)文件夾的網(wǎng)址全進(jìn) all_links.txt。

擴(kuò)展點(diǎn)子 2:加個(gè)迷你窗口,拖文件就能跑

tkinter 做 GUI,小白再也不用敲命令。

import tkinter as tk
from tkinter.filedialog import askopenfilename

root = tk.Tk()
root.withdraw()  # 隱藏主窗口
file = askopenfilename(filetypes=[("Text files", "*.txt")])
if file:
    get_urls(file)
    tk.messagebox.showinfo("完成", f"已生成 {file}_links.txt")

雙擊腳本→彈窗選文件→秒出結(jié)果,全程鼠標(biāo)操作。

方法補(bǔ)充

使用Python一次性批量下載網(wǎng)頁內(nèi)所有鏈接

完整代碼

import os
import requests
from bs4 import BeautifulSoup
 
# 目標(biāo)網(wǎng)頁的URL
url = "https://"  # 請將此處替換為實(shí)際的網(wǎng)頁URL
# 指定下載文件的文件夾路徑
# 使用原始字符串
download_folder = r"D:\"
# 或者使用雙反斜杠
# download_folder = "D:\\AScholarFolder\\"
# 創(chuàng)建下載文件夾(如果不存在)
if not os.path.exists(download_folder):
    os.makedirs(download_folder)
# 獲取網(wǎng)頁內(nèi)容
response = requests.get(url)
if response.status_code == 200:
    soup = BeautifulSoup(response.text, 'html.parser')
    # 找到所有的 <a> 標(biāo)簽
    for a_tag in soup.find_all('a'):
        href = a_tag.get('href')
        if href:
            # 下載文件
            file_name = href.split('/')[-1]
            file_path = os.path.join(download_folder, file_name)
            try:
                file_response = requests.get(href)
                if file_response.status_code == 200:
                    with open(file_path, 'wb') as file:
                        file.write(file_response.content)
                    print(f"已下載: {file_name}")
                else:
                    print(f"下載失敗: {href}")
            except:
                print(f"下載失敗: {href}")
else:
    print(f"無法獲取網(wǎng)頁內(nèi)容: {url}")

總結(jié)

links_extractor.py 這把 30 行瑞士軍刀,用三招“讀文本、抓鏈接、寫文件”幫你把散落各處的網(wǎng)址瞬間歸隊(duì)。

再加批量掃描或迷你窗口,它就從命令行小工具升級為效率神器。

下次老板再甩 TXT,你只需雙擊腳本,喝杯水的功夫就交卷!

到此這篇關(guān)于Python實(shí)現(xiàn)一鍵提取頁面所有鏈接的文章就介紹到這了,更多相關(guān)Python提取頁面鏈接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 最新PyCharm 2021.3.1永久激活碼(親測有效)

    最新PyCharm 2021.3.1永久激活碼(親測有效)

    今天又有朋友反應(yīng)PyCharm2021提示激活碼過期了,下面再為大家分享一個(gè)2022年01月08日更新PyCharm2021最新激活碼,需要的朋友可以參考下
    2020-11-11
  • 使用PYTHON解析Wireshark的PCAP文件方法

    使用PYTHON解析Wireshark的PCAP文件方法

    今天小編就為大家分享一篇使用PYTHON解析Wireshark的PCAP文件方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python小工具之消耗系統(tǒng)指定大小內(nèi)存的方法

    Python小工具之消耗系統(tǒng)指定大小內(nèi)存的方法

    今天小編就為大家分享一篇Python小工具之消耗系統(tǒng)指定大小內(nèi)存的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python中bisect模塊與堆操作詳解

    Python中bisect模塊與堆操作詳解

    在Python中,bisect和heapq都是處理有序序列的常見模塊,這篇文章將分別介紹這兩個(gè)模塊的用法和實(shí)現(xiàn)方式,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-06-06
  • Python中如何給字典設(shè)置默認(rèn)值

    Python中如何給字典設(shè)置默認(rèn)值

    這篇文章主要介紹了Python中如何給字典設(shè)置默認(rèn)值問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python使用pyppeteer進(jìn)行網(wǎng)頁截圖并發(fā)送機(jī)器人實(shí)例

    Python使用pyppeteer進(jìn)行網(wǎng)頁截圖并發(fā)送機(jī)器人實(shí)例

    這篇文章主要介紹了Python使用pyppeteer進(jìn)行網(wǎng)頁截圖并發(fā)送機(jī)器人實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • python3的map與reduce實(shí)例詳解

    python3的map與reduce實(shí)例詳解

    這篇文章主要介紹了Python3中map()、reduce()、filter()的用法詳解,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Python?Pandas多種添加行列數(shù)據(jù)方法總結(jié)

    Python?Pandas多種添加行列數(shù)據(jù)方法總結(jié)

    在進(jìn)行數(shù)據(jù)分析時(shí)經(jīng)常需要按照一定條件創(chuàng)建新的數(shù)據(jù)列,然后進(jìn)行進(jìn)一步分析,下面這篇文章主要給大家介紹了關(guān)于Python?Pandas多種添加行列數(shù)據(jù)方法的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • python數(shù)據(jù)結(jié)構(gòu)之圖的實(shí)現(xiàn)方法

    python數(shù)據(jù)結(jié)構(gòu)之圖的實(shí)現(xiàn)方法

    這篇文章主要介紹了python數(shù)據(jù)結(jié)構(gòu)之圖的實(shí)現(xiàn)方法,實(shí)例分析了Python圖的表示方法與常用尋路算法的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-07-07
  • Python基礎(chǔ)學(xué)習(xí)之認(rèn)識線程

    Python基礎(chǔ)學(xué)習(xí)之認(rèn)識線程

    這篇文章主要介紹了Python線程,這篇開始我們將進(jìn)入中級編程。處理更加復(fù)雜事情。比如本文的線程,咱們先從基礎(chǔ)知識入手,需要的朋友可以參考下下面文章的詳細(xì)內(nèi)容
    2022-02-02

最新評論

玉林市| 通州区| 临安市| 嘉祥县| 鹰潭市| 乐至县| 永城市| 林周县| 台中市| 厦门市| 金乡县| 陆丰市| 贵南县| 离岛区| 南京市| 喜德县| 汉中市| 天门市| 德兴市| 南昌市| 黄陵县| 石台县| 青冈县| 彩票| 班戈县| 兴业县| 佳木斯市| 四子王旗| 白山市| 石渠县| 嘉兴市| 大埔区| 多伦县| 长寿区| 徐州市| 峡江县| 都江堰市| 西贡区| 宁河县| 锡林浩特市| 象州县|