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

我们启动IDLE来看一下:       

假设我们有了一锅汤叫soup: 这是a标签的信息,a标签的string我们来用.string来实现:

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

这里面我们看到这个tag标签中表达的信息是Basic Python。

下面我们在看一下P标签:看一下P标签的 字符串信息,那我们说这个string是一个NavigableString 类型,我们看一下他的类型表达。看一下P标签的字符串信息:

我们可以看到NavigableString也是一个bs4库定义的类型。

这里面针对P标签的实例我们要需要注意一下,我们可以看到在P标签中实际上还包含了b标签,但是当我们输出soup.p.string的时候,我们打印的string并不包含b标签,这说明NavigebleString是可以跨越多个标签层次的。

下面我们来看一下tag的另外一种类型叫comment类型,commment是注释的意思,标识的是如果HTML页面中出现注释的部分该怎么处理。这里面我们给出一个小的实例:

我们打开IDLE,我们新做一锅汤:

看到这个例子中我们有一个b标签里面给出了一个注释。这里面需要注意的是在HTML页面的表达中我们用<>!表示一个注释的开始。那么P标签中呢给出的信息并不是一个注释。

我们看一下b标签的string,b标签打印出了注释内容:

我们看一下他的类型,

他是一个bs4.element.Comment类型。

我们再看一下P标签:

我们发现p标签是一个字符串,同时他的类型是一个NavigableString类型。这里面其实很奇怪,我们对b标签和p标签分别用.string的时候都能产生一段文本,但是当这个文本是注释的时候,它并没有标明它是注释,也就是说它的<>和!被去掉了。所以有时候在我们分析文档的时候,我们需要对其中的注释部分做相关的判断,而判断的依据就是他的类型。这种情况呢在我们实际分析文本中并不常用,所以做一个基本了解就可以。我们刚才讲到beautifulsoup类的基本类型,我们在复习一下:

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

beautifulsoup类有5种基本元素分别是标签、标签的名字、标签的属性、标签中非属性的字符串以及注释部分。理解好beautifulsoup类有5种基本元素是使用beautifulsoup库的基础。

这里面我们再看一下他的具体使用方法:

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

我们可以.tag方式来获得标签信息,比如说我们用soup.a来获得a标签,soup.p来获得p标签。我们可以用.name的方式来获得标签的名字,比如说p.name。我们可以用.attrs来获得标签的属性。这里面无论是否一个标签存在属性,他都会返回一个字典类型。

对于标签之间的字符串我们可以用.string的方式来获取,获取过程中如果其中存在注释,那么他会返回一个特殊的注释类型,如果我们不希望提取注释信息,需要对这种做相关的判断。上述五种基本类型实际上给出了beautifulsoup库的基本使用,后面我们会在更多的例子中使用它们。

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