爬虫-BeautifulSoup之XML篇

1. 发送 HTTP 请求获取页面内容

python 复制代码
url = "https://example.com"
response = requests.get(url)
xml_content = response.text

2. 创建 Beautiful Soup 对象

python 复制代码
soup = BeautifulSoup(xml_content, 'xml')

3. 解析 XML 标签

3.1. 标签选择器

python 复制代码
# 选择所有的 <element> 标签
elements = soup.find_all('element')

# 选择第一个 <element> 标签
first_element = soup.find('element')

3.2. 属性选择器

python 复制代码
# 选择属性 id 为 '1' 的所有 <element> 标签
elements_with_id = soup.find_all('element', id='1')

4. 提取标签内容

python 复制代码
# 获取标签文本内容
first_element_content = first_element.text

5. 遍历标签集合

python 复制代码
for element in elements:
    print(element.text)

6. 使用 CSS 选择器

python 复制代码
# 通过 CSS 选择器选择所有 <element> 标签
elements_css = soup.select('element')

7. 处理嵌套标签

python 复制代码
# 获取嵌套标签的内容
nested_content = soup.select_one('root element').text

8. 提取嵌套标签的内容

python 复制代码
# 嵌套选择标签
nested_element_content = soup.find('root').find('element').text

9. 使用 find_all 方法

python 复制代码
# 使用 `find_all` 方法选择属性 id 为 "1" 的所有 <element> 标签
elements_with_id = soup.find_all("element", attrs={"id": "1"})
相关推荐
带娃的IT创业者17 小时前
WeClaw 离线消息队列实战:异步任务队列如何保证在服务器宕机时不丢失任何一条 AI 回复?
运维·服务器·人工智能·python·websocket·fastapi·实时通信
澄澈青空~17 小时前
Unity3D VR 游戏开发 — 技术路线与学习路线完整大纲
学习·vr
坐吃山猪19 小时前
Python进度条
linux·服务器·python
l1t19 小时前
四种python工具包用SQL查询csv和parquet文件的方法比较
大数据·python·sql
清水白石00819 小时前
Python 并发三剑客:多线程、多进程与协程的实战抉择
java·服务器·python
2301_7938046919 小时前
更优雅的测试:Pytest框架入门
jvm·数据库·python
dinl_vin19 小时前
python:常用的基础工具包
开发语言·python
想搞艺术的程序员19 小时前
Java Survivor区学习笔记
java·笔记·学习·垃圾回收
吃杠碰小鸡19 小时前
学习英语的思路性问题
学习
-Springer-20 小时前
STM32 学习 —— 个人学习笔记9-2(USART串口数据包 & 串口收发 HEX 及 文本 数据包)
笔记·stm32·学习