小编给大家分享一下python3中怎么使用BeautifulSoup?使用BeautifulSoup怎么解析html相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,让我们一起来学习一下吧!

python3中怎么使用BeautifulSoup库?使用BeautifulSoup库怎么解析html?

Python爬虫中的功能非常强大,主要爬取的数据都是以html的形式存在,这种形式就像是一个网页页面,解析起来十分麻烦,所以就有一个叫BeautifulSoup库的,它的解析功能非常强大,可以帮助我们少走弯路。

python3中怎么使用BeautifulSoup库?

使用BeautifulSoup库之前,我们需要通过pip install BeautifulSoup 来进行安装。没有报错就表示安装成功了。

from bs4 import BeautifulSoup  导入库

假设我们现在有数据:

<data>
<day>20220719</day>        
<id>21</id>        
<rank>12</rank>       
<name>张哈哈</name>    
</data>    <data>        
<day>20220720</day>        
<id>8</id>        
<rank>13</rank>        
<name>菲菲</name>   
</data>

假设现在我们要找<data>中是数据,但是发现在<data>中有两条数据,这个时候我们可以使用beautifulsoup库中find_all函数,是把两个<data>数据的结果返回。当处理每一个<data>数据时,因为在<data>下,<id><name>等标签都是唯一的,这时使用find函数。例如:

result=BeautifulSoup(html, 'lxml')
data_list= result.find_all('data')
for data in data_list:

list应该有两个元素   

day = data.find('day').get_text()

get_text是获取字符串,可以用.string代替    

id = data.find('id').get_text()    
rank = data.find('rank').get_text()   
name = data.find('name').get_text()    
print name  可以print测试解析结果

这里简单的介绍了一下beautifulsoup中find_all函数和find函数的使用。

使用BeautifulSoup库怎么解析html?

下面我就简单说一下这个库怎么解析html,举个例子:

from bs4 import BeautifulSoup
html = urlopen("http://zhihu.baidu.com/")
h1=BeautifulSoup(html,"lxml")  #将html对象转化为BeautifulSoup对象
print(h1.title)  #输出这个网页中的标题

执行以上代码我们会得到一个结果:<title>知乎-百度百科</title>,首先我们来分析下h1=BeautifulSoup(html,"lxml")这句话对我们的html做了什么,在这句代码中,我们将html对象传入到BeautifulSoup中将它转化成BeautifulSoup对象,我们就成功将html对象转化为了BeautifulSoup对象, 当我们将html转化后得到的结构为:

<html><html><head>....</head><body>.....</body></html>

以上是“python3中怎么使用BeautifulSoup库?使用BeautifulSoup库怎么解析html?”这篇文章的所有内容,相信大家阅读之后都有了一定的了解,希望分享的内容对大家有所帮助。

更多python相关文章请访问分类:python

【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!