数据解析(Data Parsing)完全指南:网页爬取中的解析技术

当人们听到”网页爬取”这个词时,他们想到的是从网页上拉取数据。但他们不知道的是,大部分工作量不在于下载网页,而在于提取你需要的特定数据——这就是数据解析的用武之地。下载网页只需发送一个 HTTP GET 请求即可,但根据你需要的数据类型,从页面中提取数据可能会变得非常困难,尤其是在网页缺乏结构的情况下。

即使是结构化的页面,如果数据不嵌入特定的 HTML 标签而是与其他大段文本混在一起,也很难提取。比如电话号码、邮箱和家庭地址——如何从那些数据不位于特定标签中的在线论坛里解析出来?如果你对网页爬取有一点了解,你会知道这是整个过程中最困难的任务之一。但困难不代表做不到。

Data Parsing

什么是数据解析?

数据解析这个词在计算机科学中应用广泛。对于做网页爬取和屏幕爬取的人而言,数据解析是从大段文本(可能是网页、PDF、文本文件甚至地图)中提取所需数据的过程。不同人不同背景看待它的方式不尽相同。

数据解析技术

解析 HTML 文档

最常被解析的文档是网页。大多数做网页爬取的人需要解析 HTML 文件。有两种选择:使用库使用正则表达式

使用解析库

最简单的方式是使用解析库。解析库将文档处理成 DOM 结构,让你可以通过标签、class 和 ID 等 CSS 选择器来访问数据。大多数解析库可免费使用,即使是商业用途。根据编程语言选择:

使用正则表达式

当你需要从非结构化的文本中提取邮箱、电话号码和地址等数据时,正则表达式(regex)是不二之选。因为解析库无法只挑出这些特定模式的数据。大多数编程语言都支持正则表达式,且模式是一致的。参考:regexr.com

解析 PDF 文档

许多企业有从 PDF 中提取数据的需求。Python 开发者可使用 PyPDF2PDFQuery。其他语言也有各自对应的工具。

解析纯文本文件

当需要从无结构的 .txt 文件中提取数据时,必须使用正则表达式。

总结

数据解析和获取文档本身同等重要。如今你有丰富的选项可以选择。对于结构化 HTML 文档,解析库是最简单的方式;对于非结构化文本中提取特定模式的数据,正则表达式是最佳工具。相关:Python 爬虫入门教程

chcrazy

Share

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment