小能豆

使用 Python 从大型文本文件中提取特定 URL

Python

使用 Python 从大型文本文件中提取特定 URL


阅读 101

收藏
2023-05-30

共1个答案

小能豆

要从大型文本文件中提取特定的URL,您可以使用Python的正则表达式模块re来匹配和提取URL模式。

以下是一个示例代码,演示如何从文本文件中提取URL:

import re

def extract_urls_from_file(file_path):
    urls = []
    url_pattern = r"http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+"

    with open(file_path, 'r') as file:
        content = file.read()
        matches = re.findall(url_pattern, content)
        urls.extend(matches)

    return urls

# 指定要提取URL的文件路径
file_path = "path/to/your/file.txt"

# 提取URL
urls = extract_urls_from_file(file_path)

# 打印提取到的URL
for url in urls:
    print(url)

在上述示例代码中,我们定义了一个名为extract_urls_from_file的函数,该函数接受文件路径作为输入参数。在函数内部,我们打开文件,并使用正则表达式模式r"http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+"来匹配URL。

使用re.findall()函数,我们在文件内容中查找所有匹配URL模式的字符串,并将其存储在matches列表中。然后,我们将匹配的URL添加到urls列表中。

最后,我们遍历提取到的URL列表,并将其打印出来。

请确保将file_path替换为您实际的文件路径。这样,您就可以从指定的文本文件中提取特定的URL。

希望这对您有帮助!如果您有任何其他问题,请随时提问。

2023-05-30