介绍
BeautifulSoup库怎么在python中安装与使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
1。BeautifulSoup简介
BeautifulSoup4和lxml一样,漂亮的汤也是一个HTML/XML的解析器,主要的功能也是如何解析和提取HTML/XML数据。
BeautifulSoup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果我们不安装它,则Python会使用Python默认的解析器,lxml解析器更加强大,速度更快,推荐使用lxml解析器。
Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf - 8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,美丽的汤就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
2。BeautifulSoup的安装
首先我们需要安装一个BeautifulSoup库。我安装的版本是python3。所以就可以直接在cmd下用pip3命令进行安装。
命令:
pip3 install beautifulsoup4
在安装好BeautifulSoup后,我们可以通过导入该库来判断是否安装成功。
命令:
<代码>祝辞祝辞祝辞,从bs4进口BeautifulSoup 代码>
,回车后不报的错,这说明我们已经将其安装成功。
3。BeautifulSoup常用功能
#, beautiful soup 网页中提取信息的python库 #,,BeautifulSoup 对象表示的是一个文档的全部内容 #,,美化(),按照标准的缩进格式的结构输出 #,,get_text(),会将HTML文档中的所有标签清除,返回一个只包含文字的字符串 得到bs4 import  BeautifulSoup 文本=& # 39;& # 39;& # 39; & lt; ? xml version=?.0“,编码=癷so - 8859 - 1 -“?比; & lt; bookstore> & lt; book> ,& lt; title  lang=癳ng"祝辞Harry Potter ,& lt; price> 29.99 & lt;/price> & lt;/book> & lt; book> ,& lt; title  lang=癳ng"祝辞Learning XML ,& lt; price> 39.95 & lt;/price> & lt;/book> & lt;/bookstore> & # 39;& # 39;& # 39; #,create 对象 男朋友=BeautifulSoup(文本) #,按照标准缩进格式输出 print (bf.prettify ()) #,会将HTML文档中的所有标签清除,返回一个只包含文字的字符串 print (bf.get_text ()) #,标签对象, #,标签,表示HTML中的一个个标签 #,名字 #,attrs 标签=bf.title #,获取标题标签 打印(标签) print(类型(标签),#,标签类型 打印(tag.name), #,标签名称 打印(tag.attrs), #标签属性 print (tag.attrs [“lang"]), #单独获取某个属性,方法1 print (bf.title [“lang"]), #单独获取某个属性,方法2 #,NavigableString tag.string #,表示标签中的文字 打印(tag.string) print(类型(tag.string)), #,查看数据类型 #,Comment 注释部分 #,一个特殊类型的NavigableString对象 #,输出的内容不包括注释符号 字符串=& # 39;& # 39;& # 39; & lt; p> & lt; !——,这是注释!,-祝辞& lt;/p> & # 39;& # 39;& # 39; sp=BeautifulSoup(字符串) 打印(sp) 打印(sp.p.string), #,去获取标签中是文字
#,两个常用函数, #,find_all(),搜索当前标签的所有标记子节点,并判断是否符合给定的条件 #,返回结果是一个列,可以包含多个元素 打印(soup.find_all(& # 39;标题# 39;),结束=癨 n - - - - - - - \ n") #发现(),直接返回第一个元素 print (soup.find (“title")) print (soup.find_all (“title" lang=癳ng")), #,查找标题标签,属性lang=eng print (soup.find_all (“title" {“lang":“eng"})), #,结果同上 print (soup.find_all ([“title",“price"])), #获取多个标签 打印(soup.find_all (“title" lang=癳ng") [0] .get_text()), #,获取文本 #,三大常见节点 #,,子节点,一个标签可能包含多个字符串或其他的标签,这些都是这个标签的子节点 #,,父节点,配个标签或字符串都有父节点:被包含在某个标记中 #,,兄弟节点,平级的节点 结束=癨 n - - - - - - - \ n" 打印(soup.book结束),#,获取书节点信息 打印(soup.book.contents结束),#,获取书下的所有子节点 print (soup.book.contents[1],结束),#,获取书下的所有子节点中的第一个节点 打印(soup.book.children结束),#,children 生成迭代器 for child  soup.book.children拷贝: 打印才能(“===?儿童) ,, 打印(soup.title.parent结束) 打印(soup.book.parent结束) for parent  soup.title.parents拷贝:#注意父母和父母区别 打印才能(“===?parent.name) ,, 打印(soup.title.next_sibling结束),#,获取该节点的下一个兄弟节点 打印(soup.title.previous_sibling结束),#,获取该节点的上一个兄弟节点 打印(soup.title.next_siblings结束),#,获取该节点的全部兄弟节点 for 小姐:soup.title.next_siblings拷贝: 打印才能(“===?我)BeautifulSoup库怎么在python中安装与使用