非结构化数据
非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本、图片、XML, HTML、各类报表、图像和音频/视频信息等等。
结构化数据
结构化数据可以使用关系型数据库来表示和存储,如MySQL、Oracle、SQL Server等,表现二维形式的数据。可以通过固有键值获取相应信息。一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。结构化的数据的存储和排列是很有规律的,这对查询和修改等操作很有帮助。但是,显然,它的扩展性不好
选择方法
可选择的方式有很多,这里介绍正则,跟xpath,其他的实际运用中哪个更好用用哪个就行了
正则
在 Python 中,使用内置的 re 模块
compile() 函数将正则表达式的字符串形式编译为一个 Pattern 对象1
2
3
4
5
6
7
8
9
10pattern = re.compile(r'正则规则')
Pattern 对象的一些常用方法
match(string[, pos[, endpos]]): 从起始位置开始查找,一次匹配
search(string[, pos[, endpos]]): 从任何位置开始查找,一次匹配
# <<<<<<成功返回Match 对象,失败返回None>>>>>>
findall(string[, pos[, endpos]]): 全部匹配,返回列表/空列表
finditer(string[, pos[, endpos]]): 全部匹配,返回(Match对象)迭代器
split(string[, maxsplit]): 能够匹配的子串进行分割,返回列表
sub(repl, string[, count]):替换
# 引用分组可以用(\6 \1', string))