使用 Python 从大型文本文件中提取特定 URL
要从大型文本文件中提取特定的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。
extract_urls_from_file
r"http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+"
使用re.findall()函数,我们在文件内容中查找所有匹配URL模式的字符串,并将其存储在matches列表中。然后,我们将匹配的URL添加到urls列表中。
re.findall()
matches
urls
最后,我们遍历提取到的URL列表,并将其打印出来。
请确保将file_path替换为您实际的文件路径。这样,您就可以从指定的文本文件中提取特定的URL。
file_path
希望这对您有帮助!如果您有任何其他问题,请随时提问。