百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

每天一个 Python 库:BeautifulSoup4 优雅地解析HTML

off999 2025-07-07 22:18 29 浏览 0 评论

网页解析神器BeautifulSoup4,它让你轻松处理 HTML 页面,提取你想要的数据,是网页爬虫入门的第一步!

beautifulsoup4 是一个用于 HTML 和 XML 解析的 Python 库。相比正则表达式,它更智能、更优雅,能让你像操作树结构一样操作网页内容。

先看效果!


安装方式

pip install beautifulsoup4

推荐搭配使用 lxml 解析器:

pip install lxml

学习本来就不是一蹴而就的事,不过只要你肯练、敢用,坚持一阵子,你一定能看到变化!


入门示例

下面是一个完整的解析示例:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish 
@File    :D19.py
@Date    :2025/6/18 19:00 
@Author : malijie
"""
from bs4 import BeautifulSoup

with open('test.html', 'r', encoding='utf-8') as f:
    html = f.read()

soup = BeautifulSoup(html, 'html.parser')

print(f"string:\t{soup.title.string}")
print(f"text:\t{soup.h1.text}")
print(f"class:\t{soup.p['class']}")
print(f"href:\t{soup.a['href']}")

用一句话总结:解析 HTML,像写剧本一样简单!



常用方法速查表

功能

示例代码

说明

查找单个元素

soup.find('p')

查找第一个 <p> 标签

查找多个元素

soup.find_all('a')

查找所有 <a> 标签

获取属性值

tag['href']

提取超链接地址

获取文本内容

tag.text / tag.string

提取纯文本

使用选择器

soup.select('.desc')

类似 jQuery 的选择器

获取父元素

tag.parent

获取标签的父级元素

遍历子元素

tag.children

获取标签的直接子元素



使用建议

  • html.parser 是 Python 内置的解析器,无需额外安装,但功能有限。
  • 推荐使用 lxml,速度更快、容错更强,下期重点介绍!



实战小练习

解析ycombinator页面中的问题标题:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish 
@File    :D19.py
@Date    :2025/6/18 19:00 
@Author : malijie
"""

import requests
from bs4 import BeautifulSoup

url = "https://news.ycombinator.com/"
headers = {"User-Agent": "Mozilla/5.0"}

res = requests.get(url, headers=headers)
soup = BeautifulSoup(res.text, 'lxml')

# 提取每篇新闻标题和链接
articles = soup.select('.titleline > a')

for i, a in enumerate(articles, 1):
    title = a.text.strip()
    href = a['href']
    print(f"{i}. {title} {href}")

输出热门话题,几行代码就搞定!


小坑提示

  • 有些网页是动态加载,BeautifulSoup 无法处理 JavaScript 渲染的内容,这时可以用 SeleniumPlaywright



下期预告

《每天一个 Python 库:lxml —— 速度与强度并存的 HTML 解析器》

点赞关注不迷路,不错过每一期实战技巧!

后续还有更多自动化测试经验分享~评论区欢迎唠嗑交流!

点头像,发现更多精彩内容!

相关推荐

windows远程桌面(远程桌面app安卓版)

要在WindowsServer2016上开启远程桌面服务,您可以按照以下步骤操作:1.**打开服务器管理器**:您需要登录到您的WindowsServer2016系统。2.**启用远程桌面...

网盘app下载安装(雀云网盘app下载安装)

因为这时的文件只是下载到云盘里,并没有下载到手机里,而在云盘里是不能执行安装程序的,需要把云盘里的安装包,下载到手机内存里面,才可以执行安装命令。现在相当于,你的快递已经在驿站签收了,随时都可以拿回来...

隐藏文件夹不显示(隐藏文件夹不显示出来)

如果,可能是文件被删除或移动到其他位置。隐藏文件是指在文件系统中设置了隐藏属性的文件,通过更改文件夹的设置可以显示或隐藏这些文件。如果文件夹显示隐藏文件的设置已经开启,但仍然找不到文件,可能是因为文件...

强制修改密码软件下载(强制密码修改器)

1.首先找回账户密码(适用于Android设备):如果您的设备与账户关联,可以访问账户的“找回密码”功能,通过重置密码来修改锁屏密码。2.使用其他登录方式(适用于iOS设备):如果您启用了Touch...

苹果ipad充不进电怎么办(苹果ipad充不进去电什么原因)

如果你发现你的iPad不能充电,那么你这样试一下,你看是不是充电的温度太低,你给他拿到一个比较温暖的房间里去,第2个就是你换一个充电器试一试,是不是那个充电器坏了,如果还不行的话,你可以把iPad重新...

无法正常启动0xc000005(无法正常启动你的电脑0xc0000001)

如果手机下载安装的第三方应用出现问题,无法正常使用,三星手机一般建议进行以下步骤排查及处理:1.关闭重新启动该应用。2.建议将此软件卸载重新安装尝试。3.更换其他版本尝试。4.更新下手机系统版本后安装...

无线网登录(无线网登录入口)

1.打开手机浏览器,访问192.168.0.1,输入用户名和密码就可以进入路由器管理界面。2.手机wifi连接路由器信号之后,会弹出对话框,需要输入用户名和密码(有的路由器只需要密码)。3.正确的输入...

恢复精灵免费版(恢复精灵app软件下载)

一般都是收费的。建议选择正规的软件。推荐你用《安易》数据恢复软件。聊天恢复精灵不需要电脑。因为聊天恢复精灵是属于线上的应用程序,只需要在电子设备里面下载安装聊天恢复精灵软件就可以直接使用不靠谱手机数据...

苹果系统官网下载地址(iphone官网ios下载)

PP助手、同步推等手机助手都可以下载已经下架的应用,这类助手有很多,一搜一大把,而且就我知道的PP助手还能选择下载历史版本,当然也有部分应用是没在商店上架的,他们是通过企业证书公布自己的应用,需要到官...

win10桌面切换(w10系统桌面切换)
win10桌面切换(w10系统桌面切换)

     win10桌面1和桌面2快速切换方法:1.按住win按键按键盘的【win】按键。2.再按Tab按键同时按下【tab】按键。3.点击桌面选项点击界面的桌面选项完成切换。具体方...

2025-12-19 23:51 off999

下载qq号安装(下载qq安装包)
下载qq号安装(下载qq安装包)

QQ不能更新和下载,可尝试一下办法:1,使用数据线,将手机和电脑连接,然后从电脑端下载,保证你不闪退,不掉线。2,将你手机桌面的QQ图标删除,彻底删除.从AppStore里下载.注:在你不联机的状态下,你可能用别的助手会闪退问题,推荐从...

2025-12-19 23:03 off999

系统之家在线一键重装系统(系统之家官方网站)
  • 系统之家在线一键重装系统(系统之家官方网站)
  • 系统之家在线一键重装系统(系统之家官方网站)
  • 系统之家在线一键重装系统(系统之家官方网站)
  • 系统之家在线一键重装系统(系统之家官方网站)
笔记本电脑上网卡多少钱一个月

收费有好几种!1.按流量收费,这适合不怎么上网看电影,下载的人.(想用就用,而且价格便宜)2.按小时收费,用电脑的无线连移动的无线,那有说明。(10元40小时/每月,20元100小时/每月等等,还是手...

电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
  • 电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
  • 电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
  • 电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
  • 电脑无法进入系统如何重装(电脑无法进入系统如何重装系统)
一键重装系统后一直黑屏(电脑一键重装系统后黑屏)

黑屏故障一般有四种情况:一,全黑。主机、显示器(包括指示灯)均不亮二,显示器的指示灯亮,主机的指示灯不亮三,显示器与主机的指示灯均亮且开关电源冷却风扇也正常旋转,但显示器不显示。四,动态黑屏,开机时显...

取消回复欢迎 发表评论: