Beautifulsoup的常规用法总结

关于beautiful soup官方解释为:Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.

1.首先来看一下用该库解析下来的效果对比

这是官网上的源代码及其格式

当我运行一下代码时解析该网站时格式如下

可以看到其成树状结构,可以用soup.title,soup.p等语句进一步提取出所需标签里的内容(比用正则表达式快很多),如soup.title

2.接下来了解Beautiful Soup的具体用法

首先明白Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种: Tag , NavigableString , BeautifulSoup , Comment .(来自官方文档)

首先导入库

from bs4 import BeautifulSoup    #导入库

创建对象

url = 'http://news.hitwh.edu.cn/'
resp = urllib.request.urlopen(url)
html = resp.read()
soup = BeautifulSoup(html, 'html.parser')

3.解析出的对象的类别

(1)tag。html标签,可以用soup.title,soup.p等方式提取出对应标签的内容

(2)NavigableString。

4.标准选择器

  (1)find_all(),可以根据标签,属性,内容查找文档。如

print(soup.find_all("div", "menu"))

就能提取出类名为menu的div标签的内容

(2)find(),find_all()返回的是所有元素列表,find()返回单个元素

(3)css选择器

soup.select("title")

总结:总之BeautifulSoup是一个很好的用来解析html文档的库,可以较快地提取出我们想要的标签的内容及还要检索的东西,相对于正则表达式,极大的简化了处理过程

猜你喜欢

转载自blog.csdn.net/sydney__/article/details/81133827