Python网络爬虫与信息提取入门<14>

Part29 2信息提取的一般方法

下面我们介绍信息提取的一般方法。信息提取指从标记后的信息中,提取所关注的内容之前为我们讲过信息标记的三种形式:XML JSON和YAML。无论哪种形式在信息标记中包含信息的一部分。我们关心的是我们所要提出的信息内容。那么该怎么做呢?这里有很多种方法,我们这里边从一般意义上给出几种方法:

Python网络爬虫与信息提取入门<14>_第1张图片

比如第一种方法:我们可以完整的解析信息的标记形式,然后再提取信息中的关键信息。简单说,我们用标记解析器去解析XML、JSON、YAML格式。然后将其中所需要的信息提取出来。比如说BeautifulSoup库提供了对标签树的遍历。我们需要解析成信息,去遍历这棵树就可以了。这种方法优点是信息解析准确,你需要那部分信息就能找到这部分信息的位置,并且把信息提取出来。但是缺点也非常明显,我们再提取信息的时候过程会非常繁琐,速度会非常的慢。也需要你对整个文件的信息组织形式有清晰的认识和理解。

那么我们可以有第二种一般意义上的方法:

我们可以无视任何的信息标记形式,直接搜索关键信息。就像我们在一个word文档中去搜索某一个关键词一样,根本不需要关系这个word文档有怎样的标记形式和格式。只需要我们对信息的文本利用查找函数去查找就行了。这种方法的优点是提取过程非常简洁,速度较快。但是缺点是,他对提取结果缺乏准确性的定义,或者说提取结果的准确性与信息内容直接相关。

Python网络爬虫与信息提取入门<14>_第2张图片

那么,我们是解析全部的信息形式这种方法好还是无视信息形式直接去搜索方法好。当然从实际使用中,最好的方法是一种融合的方法。

Python网络爬虫与信息提取入门<14>_第3张图片

也就说我们结合形式解析和搜索方法来提取关键信息。这需要我们的工具具备能够解析信息标记解析器的能力,同时还能够对文本进行查找。

下面我们以BeautifulSoup库为例,来解释一下如何实现这样的一个功能。比如我们要提取

你可能感兴趣的:(Python网络爬虫与信息提取入门<14>)