jushi = li.xpath('(.//dl/dd/p[@class="tel_shop"]//text())').getall()
时间: 2023-12-21 20:06:03 浏览: 87
简单的五子棋.c++
这是一个XPath表达式,用于提取HTML或XML文档中的信息。该表达式的含义是:在当前节点下,选择dl子节点、选择dd子节点、选择p子节点,并且该p节点的class属性为"tel_shop",然后提取其下所有文本内容。
解释一下具体的语法和用法:
- `//` 表示选择任意深度的子节点,例如 `//dl` 表示选择任意深度的dl子节点;
- `.` 表示当前节点,例如 `.//dl` 表示选择当前节点下的dl子节点;
- `/` 表示选择直接子节点,例如 `dl/dd` 表示选择dl节点下的直接子节点dd;
- `[]` 表示筛选条件,例如 `p[@class="tel_shop"]` 表示选择p节点,并且该节点的class属性为"tel_shop";
- `text()` 表示提取节点的文本内容,例如 `p/text()` 表示提取p节点下的文本内容。
最终,该XPath表达式的作用是选择所有符合条件(即在当前节点下,选择dl子节点、选择dd子节点、选择p子节点,并且该p节点的class属性为"tel_shop")的节点,并提取它们下面所有的文本内容。
阅读全文