先读取文本内容,再根据结构选择字符串处理、正则表达式或专用库提取信息。1. 读取文件或字符串变量;2. 用split()、find()等方法提取固定格式信息;3. 用re.findall()提取邮箱、电话、日期等规律性信息;4. 对JSON、HTML、PDF等结构化文本分别使用json、BeautifulSoup、PyPDF2等工具解析后提取。

提取文本信息在Python中很常见,主要根据文本来源和结构选择合适的方法。核心思路是读取文本内容后,用字符串处理、正则表达式或专用库进行信息抽取。
1. 读取文本内容
先将文本加载到程序中,常见方式有读取文件或处理字符串变量。
示例:-
读取本地文本文件:
with open('text.txt', 'r', encoding='utf-8') as f: text = f.read() -
处理字符串:
text = "这里是需要提取信息的文本内容"
2. 使用字符串方法提取简单信息
适用于格式固定的文本,比如提取关键词前后的内容。
-
split() 分割文本: 按分隔符切分,取所需部分
title = text.split("标题:")[1].split("\n")[0] -
find() + 切片: 定位关键词位置并提取
start = text.find("电话:") + 3 end = text.find("\n", start) phone = text[start:end]
3. 使用正则表达式提取复杂模式
适合提取电话号码、邮箱、日期等有规律的信息。
立即学习“Python免费学习笔记(深入)”;
示例:-
提取邮箱:
import re emails = re.findall(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}', text) -
提取手机号:
phones = re.findall(r'1[3-9]\d{9}', text) -
提取日期(如2025-04-05):
dates = re.findall(r'\d{4}-\d{2}-\d{2}', text)
4. 处理结构化文本(如JSON、HTML、PDF)
不同格式需用对应工具解析后再提取。
-
JSON 数据:
import json data = json.loads(text) value = data['key']
-
HTML 页面(用 BeautifulSoup):
from bs4 import BeautifulSoup soup = BeautifulSoup(text, 'html.parser') titles = soup.find_all('h1') -
PDF 文件(用 PyPDF2 或 pdfplumber):
import PyPDF2 reader = PyPDF2.PdfReader('file.pdf') text = reader.pages[0].extract_text()











