解析:在使用 etree 解析 HTML 文档时,如果希望获取某个标签直系文本内容,应
使用 tag/text()的 xpath 表达式。
5. B. etree.parse()
解析:etree.parse()函数用于将本地的 HTML 文档源码数据加载到 etree 对象中。
二、简答题
1. 使用 lxml 模块的 etree 分析页面数据的主要步骤包括:
o 实例化一个 etree 对象,并将被解析的页面源码数据加载到该对象中。
o 调用 etree 对象中的 xpath 方法,结合 xpath 表达式定位标签和爬取内容文
本或属性。
2. 在 xpath 表达式中,可以使用索引定位特定的元素。例如,要定位 class 为"title"的 div
元素中的第一个 a 标签,可以使用以下 xpath 表达式://div[@class="title"]/a[1]。这
里的[1]表示索引为 1 的元素,即第一个 a 标签。
3. 在 xpath 表达式中,“/”表示一个层级,从根节点开始定位;而“//”表示多个层级,可
以从任意节点开始定位。例如,/html/head/title 表示从根节点 html 开始,依次定位
到 head 和 title 标签;而//title 则表示从任意节点开始定位 title 标签,不考虑其在文
档中的具体位置。
代码题填空题:
1、 已知 HTML 页面源代码如下所示。
<html>
<head>
<title>示例页面</title>
</head>
<body>
<div class="content">
<h1>欢迎来到我的网站</h1>
<p class="description">这是一个示例页面,用于展示如何使用 lxml 模
块。</p>
<ul>
<li><a href="http://example.com/page1">页面 1</a></li>
<li><a href="http://example.com/page2">页面 2</a></li>
<li><a href="http://example.com/page3">页面 3</a></li>
</ul>
</div>
</body>
</html>
选择正确答案将以下 python 代码填充完整,使其满足题目要求能提取 HTML 的内容。
from lxml import etree
# 假设 html_content 是上述 HTML 代码片段的字符串表示
html_content = '''