爬虫-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"})
相关推荐
金銀銅鐵14 小时前
[Python] 扩展欧几里得算法
python·数学·算法
Duckdblab14 小时前
DuckDB 性能调优终极指南:打造闪电般的分析体验
python
带派擂总15 小时前
Python全栈开发精华版最全合集(包含各种面试题) Day24_异常和错误
python
金銀銅鐵18 小时前
n^5 和 n 的个位数是否总相等?
python·数学
aqi0021 小时前
15天学会AI应用开发(九)利用Chroma持久化向量数据
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵21 小时前
借助 Pygame 探索最大公约数的规律
python·数学·游戏
ServBay2 天前
9 个 Python 第三方库推荐,不用 AI 都好像多出一个团队
后端·python
用户8356290780512 天前
如何使用 Python 添加和管理 Excel 批注(完整示例)
后端·python
用户8356290780512 天前
使用 Python 管理 Excel 工作表:创建、复制、删除与重命名
后端·python