python网络爬虫(三)Beautiful Soup库介绍

房东的猫 提交于 2019-12-19 10:04:43

0、作用

一个简单的html网页源代码:

<html>
	<head>
		<title>This is a python demo page</title>
	</head>
	<body>
		<p class="title">
			<b>The demo python introduces several python courses.</b>
		</p>
		<p class=“course”>Python is a wonderful general‐purpose programming language.You can learn Python from novice to professional by tracking the following courses:
			<a href="http://www.icourse163.org/course/BIT‐268001" class="py1"id="link1">Basic Python</a> and
			<a href="http://www.icourse163.org/course/BIT‐1001870001" class="py2"id="link2">Advanced Python</a>.
		</p>
	</body>
</html> 

将其画成一棵标签树
在这里插入图片描述
Beautiful Soup的作用就是将爬取的信息整理成可视化良好的信息,导库的方法如下:

from bs4 import BeautifulSoup
soup = BeautifulSoup('<p>data</p>', 'html.parser')

1、基本元素

在这里插入图片描述

基本元素 说明
Tag 标签最基本的信息组织单元,分别用<>和</>标明开头和结尾
Name 标签的名字,上图中tag的名字是’p’,格式:<tag>.name
Attributes 标签的属性,字典形式组织,格式:<tag>.attrs
NavigableString 标签内非属性字符串,<>…</>中字符串,格式:<tag>.string
Comment 标签内字符串的注释部分,一种特殊的Comment类型

2、内容的遍历

在这里插入图片描述

(1)下行遍历

属性 说明
.contents 子节点的列表,将所有儿子节点存入列表
.children 子节点的迭代类型,与.contents类似,用于循环遍历儿子节点
.descendants 子孙节点的迭代类型,包含所有子孙节点,用于循环遍历

在这里插入图片描述

(2)上行遍历

属性 说明
.parent 节点的父亲标签
.parents 节点先辈标签的迭代类型,用于循环遍历先辈节点

在这里插入图片描述

(3)平行遍历

属性 说明
.next_sibling 返回按照HTML文本顺序的下一个平行节点标签
.previous_sibling 返回按照HTML文本顺序的上一个平行节点标签
.next_siblings 迭代类型,返回按照HTML文本顺序的后续所有平行节点标签
.previous_siblings 迭代类型,返回按照HTML文本顺序的前续所有平行节点标签

在这里插入图片描述
在这里插入图片描述

3、prettify()

print(soup.prettify())
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!