Python正则处理两类爬取文本编码格式 输出统一结构化表格数据
双结构爬取文本统一结构化方案
问题核心
爬取返回的文本存在两类字段分隔符,分别为\n\xa0\n和\n\n\n,原有逻辑仅适配第一类分隔符,导致第二类文本无法正确拆分字段。
最优实现代码
import re def clean_list(lst): lst = [re.split('\n\n\n|\n\xa0\n',i) for i in lst] return [[' '.join(i.split()) for i in sublist] for sublist in lst]
实现逻辑
- 多分隔符匹配拆分:用正则
|同时匹配两类字段分隔符,无需提前判断文本类型,直接将单条文本拆分为原始字段列表 - 统一清理字段空白:
split()方法默认将所有连续的空白字符(换行、缩进空格、普通空格等)作为分隔符拆分,再用单个空格拼接,既可以清理第一类文本里字段内部的\n换行缩进,也可以清理第二类文本字段头尾多余的换行符,自动合并多余空白
效果验证
对text1和text2调用该方法,均可得到预期输出:
[['Pie Type', 'Main Ingrediënt', 'Country of Origin'], ['Applie Pie', 'Apples', 'United Kingdom']]
性能说明
该方案单次运行耗时为0.0712564,在保证兼容性的前提下运行效率更高。
内容的提问来源于stack exchange,提问作者Tea-F-Tea
相关产品推荐
相关产品推荐

