Python安装BeautifulSoup及使用方法,利用BeautifulSoup解析html网页

Posted weixin_ancenhw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python安装BeautifulSoup及使用方法,利用BeautifulSoup解析html网页相关的知识,希望对你有一定的参考价值。

1、打开cmd命令提示符,输入安装的第三方库:pip install bs4,安装成功后,就可以使用其中的BeautifulSoup解析网页

基本语法:
初始化BeautifulSoup对象
from bs4 import BeautifulSoup
html = “”
page = BeautifulSoup(html,“html.parser”)
a = page.find(“标签名”,attrs=“属性”:“值”)#只查找一个结果
page.find_all(“标签名”,attrs=“属性”:“值”)#查找一堆结果
#获取文本
text = a.text
#获取属性
att = a.get(“属性名”)

2、如何使用find查找:

案例1

from bs4 import BeautifulSoup

html = """
<div id="menu">
<ul>
<li><a href="/html/gndy/dyzz/index.html">最新影片</a></li>
<li><a href="/html/gndy/index.html">经典影片</a></li>
<li><a href="/html/gndy/china/index.html">国内电影</a></li>
<li><a href="/html/gndy/oumei/index.html">欧美电影</a></li>
<li><a href="/html/tv/hytv/index.html">华语电视</a></li>
<li><a href="/html/tv/rihantv/index.html">日韩电视</a></li>
<li><a href="/html/tv/oumeitv/index.html">欧美电视</a></li>
<li><a href="/html/zongyi2013/index.html">最新综艺</a></li>
<li><a href="/html/2009zongyi/index.html">旧版综艺</a></li>
<li><a href="/html/dongman/index.html">动漫资源</a></li>
<li><a href="/html/game/index.html">游戏下载</a></li>
<li><a href="/html/3gp/3gpmovie/">手机电影</a></li>
<li><a href="#" οnclick="a()" target="_self"><font color=red>收藏本站</font></a></a></li>
<li><a href="/app.html">APP下载</a></li>
</ul>
</div>
<div id="menu2">
<ul>
<li><a href="/html/gndy/dyzz/index.html">最新影片2</a></li>
<li><a href="/html/gndy/index.html">经典影片2</a></li>
<li><a href="/html/gndy/china/index.html">国内电影2</a></li>
<li><a href="/html/gndy/oumei/index.html">欧美电影2</a></li>
<li><a href="/html/tv/hytv/index.html">华语电视2</a></li>
<li><a href="/html/tv/rihantv/index.html">日韩电视2</a></li>
</ul>
</div>
"""

soup = BeautifulSoup(html, "html.parser")
table = soup.find("div", attrs="id": "menu2")
lis = table.text.strip()
print(lis)


输出结果:

C:\\Programs\\Python\\vis\\Scripts\\python.exe "D:/pythonTest/test01/python base4.py"
最新影片2
经典影片2
国内电影2
欧美电影2
华语电视2
日韩电视2

Process finished with exit code 0

3、如何使用find_all全部查找案例分析:

需要注意的,table.find_all(“tr”)[1:]代表table标签从第1个元素,查找tr标签内容

from bs4 import BeautifulSoup

html = """
<table id="test2" border="0" cellspacing="0" cellpadding="0">
			<thead>
				<tr>
					<th>品名</th>
					<th>产地</th>
					<th>单位</th>
					<th>发布日期</th>
				</tr>
			</thead>
			<tbody id="tableBody" class="ul">
				<tr>
					<td>蔬菜</td>
					<td>冀</td>
					<td>斤</td>
					<td>2022-07-19</td>
				</tr>
				<tr>
					<td>蔬菜</td>
					<td>冀</td>
					<td>斤</td>
					<td>2022-07-19</td>
				</tr>
				<tr>
					<td>蔬菜</td>
					<td>冀</td>
					<td>斤</td>
					<td>2022-07-19</td>
				</tr>
			</tbody>
		</table>
		<table id="test3" border="0" cellspacing="0" cellpadding="0">
			<thead>
				<tr>
					<th>品名</th>
					<th>产地</th>
					<th>单位</th>
					<th>发布日期</th>
				</tr>
			</thead>
			<tbody id="tableBody" class="ul">
				<tr>
					<td>蔬菜1</td>
					<td>冀</td>
					<td>斤</td>
					<td>2022-07-19</td>
				</tr>
				<tr>
					<td>蔬菜2</td>
					<td>冀</td>
					<td>斤</td>
					<td>2022-07-19</td>
				</tr>
				<tr>
					<td>蔬菜3</td>
					<td>冀</td>
					<td>斤</td>
					<td>2022-07-19</td>
				</tr>
			</tbody>
		</table>
"""

soup = BeautifulSoup(html, "html.parser")
# 查找table标签,id=test3
table = soup.find("table", attrs="id": "test3")
# 从出现的tr第1个元素查找,第0个元素是属性名称
trs = table.find_all("tr")[1:]
# 循环遍历出trs中的值
for i in trs:
    # 查找所有td标签
    tds = i.find_all("td")
    print(tds[0].text, tds[1].text, tds[2].text, tds[3].text)

输出结果:

C:\\Programs\\Python\\vis\\Scripts\\python.exe D:/pythonTest/test01/base64.py
蔬菜1 冀 斤 2022-07-19
蔬菜2 冀 斤 2022-07-19
蔬菜3 冀 斤 2022-07-19

Process finished with exit code 0

免费源码获得:关注微信公众号:ancenok,然后回复:021

以上是关于Python安装BeautifulSoup及使用方法,利用BeautifulSoup解析html网页的主要内容,如果未能解决你的问题,请参考以下文章

[Python]BeautifulSoup安装与使用

python3.4 使用BeautifulSoup

无法在python中导入beautifulsoup

python--windows下安装BeautifulSoup

python 使用pip安装软件beautifulsoup4一直失败解决办法

python爬虫——BeautifulSoup