Python系列之六_BeautifulSoup

本文介绍如何安装和使用Python库BeautifulSoup进行HTML解析。通过一个实例展示了如何获取页面标题、链接等元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  Python系列之六_BeautifulSoup


  在解析HTML源代码时,除了使用正则表达式,BeautifulSoup也是一个利器。

  BeautifulSoup是一个Python第三方库,翻译成中文的意思就是“美丽的汤”。

  soup[su:p]汤


  一、下载并安装BeautifulSoup

  这是它的官网:https://www.crummy.com/software/BeautifulSoup/

  这是下载链接:https://www.crummy.com/software/BeautifulSoup/bs4/download/

  我下载的版本是4.3.2,得到beautifulsoup4-4.3.2.tar.gz。


  将此文件解压到python的安装目录下:



  这时,打开一个命令窗口(开始->运行->cmd),输入“cd C:\Python27\beautifulsoup4-4.3.2”,切换到beautifulsoup目录下。

  连续输入两个命令:setup.py build和setup.by install。

  感觉很像linux中软件包的安装,执行setup.py脚本,build是构建,install是安装。



  安装成功后,后退一级(cd ..),进python,在python的提示符中输入“from bs4 import BeautifulSoup”,测试是否安装成功。如果不报错,就说明安装成功了。



  二、BeautifulSoup小案例

  下面我们来编写一个小案例,体验一下BeautifulSoup的功能:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from bs4 import BeautifulSoup
html = """
<html><head><title>网站首页</title></head>
<body>
<p class="title">丑小鸭的故事</p>
<p class="story">美丽的乡间农舍,一只母鸭寂寞地坐在它的巢里,孵化自已的孩子。
终于,那些鸭蛋一个接一个地裂开了,“僻!僻!”鸭蛋叫起来,并伸出了它们的小头。
瞧!这些小家伙多么活泼,睁着好奇的眼睛正四下张望。
只有一只蛋还躺在那儿,没有一点儿动静。
<a href="http://www.abc.com" class="ad" id="link1">广告1</a>
<a href="http://www.def.com" class="ad" id="link2">广告2</a>
<a href="http://www.ghi.com" class="ad" id="link3">广告3</a>
</p>
<p class="story">“这一个蛋费的时间真久!”母鸭开始抱怨。
“这是一只吐绶鸡的蛋!让它躺在那儿吧。你尽管先教别的孩子去游泳好了。”
一只来访的老母鸭这样劝着。
</p>
"""
soup = BeautifulSoup(html)
print soup.title
print soup.title.name
print soup.title.string
print soup.p
print soup.a
print soup.find_all('a')
print soup.find(id='link3')
print soup.get_text()

  这段代码的运行如下:


  Python中可以用三个双引号,表示一段较长的字符内容,这一段字符内容可能有多行。

  BeautifulSoup对html内容进行解析后,得到一个soup对象。soup.title得到title标签,soup.p和soup.a得到第一个p标签和第一个a标签,如果使用soup.find_all('a'),则可以得到全部的a标签,返回一个列表。soup.get_text()可以得到纯文本内容。

  BeautifulSoup的功能很强,以后,我们慢慢解说。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值