Python使用BeautifulSoup库解析网页
一、BeautifulSoup的安装与基本使用
首先,我们需要使用pip命令来安装BeautifulSoup库,命令如下:
pip install beautifulsoup4
安装完成后,我们就可以开始使用BeautifulSoup来解析网页了。首先,我们需要导入BeautifulSoup类,然后使用BeautifulSoup类的构造方法创建一个BeautifulSoup对象,代码如下:
from bs4 import BeautifulSoup html_doc = """ <html><head><title>The Dormouse's story</title></head> <body> <p class="title"><b>The Dormouse's story</b></p> """ soup = BeautifulSoup(html_doc, 'html.parser') print(soup.prettify())
二、网页元素的提取
BeautifulSoup提供了一系列方法,让我们可以轻松的提取出网页中的元素。例如,我们可以使用tag.name
属性获取标签的名字,tag.string
属性获取标签内的字符串,使用tag['attr']
获取标签的属性,代码如下:
from bs4 import BeautifulSoup html_doc = """ <html><head><title>The Dormouse's story</title></head> <body> <p class="title"><b>The Dormouse's story</b></p> """ soup = BeautifulSoup(html_doc, 'html.parser') title_tag = soup.title print(title_tag.name) # 输出:title print(title_tag.string) # 输出:The Dormouse's story
三、网页元素的查找
BeautifulSoup提供了find
和find_all
方法,让我们可以轻松的查找到网页中的元素。例如,我们可以查找到所有的p
标签,代码如下:
from bs4 import BeautifulSoup html_doc = """ <html><head><title>The Dormouse's story</title></head> <body> <p class="title"><b>The Dormouse's story</b></p> <p class="story">Once upon a time there were three little sisters; and their names were</p> """ soup = BeautifulSoup(html_doc, 'html.parser') p_tags = soup.find_all('p') for p in p_tags: print(p.string)
四、CSS选择器的使用
BeautifulSoup还支持CSS选择器,我们可以使用select
方法来使用CSS选择器选择元素,例如:
from bs4 import BeautifulSoup html_doc = """ <html><head><title>The Dormouse's story</title></head> <body> <p class="title"><b>The Dormouse's story</b></p> <p class="story">Once upon a time there were three little sisters; and their names were</p> """ soup = BeautifulSoup(html_doc, 'html.parser') title_tag = soup.select('p.title') for title in title_tag: print(title.string)
以上就是BeautifulSoup库的基本用法,通过BeautifulSoup,我们可以轻松地解析出网页中的元素,为网络爬虫提供强大的支持,更多关于Python 网页解析BeautifulSoup库的资料请关注脚本之家其它相关文章!
相关文章
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
这篇文章主要介绍了解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-09-09keras.utils.to_categorical和one hot格式解析
这篇文章主要介绍了keras.utils.to_categorical和one hot格式解析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-07-07
最新评论