爬虫-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"})
相关推荐
evans在进步3 分钟前
LeetCode 394:字符串解码——Java 单栈模拟与嵌套解析详解
java·python·leetcode
淼澄研学15 分钟前
Python结合大模型挖掘搜题长尾关键词实操指南
开发语言·python
woshihuanglaoshi20 分钟前
十二商品二十流水:鸿蒙进销存种子数据装满预警看板
学习·华为·harmonyos
MartinYeung51 小时前
[论文学习]ProAct:针对LLM越狱的主动防禦框架
网络·学习·安全
weixin_431600441 小时前
NestJS 入门(10):日志——为什么常用 Winston?
后端·学习·日志·nest.js·winston
何事误红尘2 小时前
ZYNQ学习ARM裸机笔记():VITIS
学习
中科高级技工学校2 小时前
乌鲁木齐美术艺考技校实践分享
人工智能·python
CodeBlog-star2 小时前
LLM能力与边界:多模态、幻觉、上下文窗口及开源模型对比
人工智能·python·开源·llm
COOLMO研究AI2 小时前
Python 如何实现 AI API 的动态路由与多通道负载均衡:多账号与多供应商的高可用调度
人工智能·python·负载均衡
不懂的浪漫2 小时前
吴恩达《AI Engineering Skills Map》译读:四项核心能力与持续学习底座
人工智能·学习