【发布时间】:2010-11-25 22:46:45
【问题描述】:
我正在将一些 html 解析代码从 BeautifulSoup 转换为 lxml。我正在尝试找出以下 BeautifullSoup 语句的 lxml 等效语法:
soup.find('a', {'class': ['current zzt', 'zzt']})
基本上我想在文档中找到所有具有“current zzt”或“zzt”类属性的“a”标签。 BeautifulSoup 允许传入一个列表、字典,甚至是正则表达式来执行匹配。
lxml 等价物是什么?
谢谢!
【问题讨论】:
-
我认为 xpath expr 应该是:
//a[@class='current zzt' or @class='zzt' -
(最后少了一个 ])
-
这行得通-但它返回一个列表(就像 findall() 一样)。有什么方法可以让它表现得更像 find()? (不只是在末尾添加 [0] 吗?)
-
class= 'current zzt' 不是一个单一的类。是两个班。您的意思是要查找包含“zzt”类或同时包含“当前”和“zzt”类的所有链接?
-
@endolith:我想找到 class="current zzt" OR class="zzt" 的所有链接。所以它要么有机器人,要么只有“zzt”。
标签: python beautifulsoup lxml