给定一个页面this,有两个作业(我们暂时忽略'打开应用程序'),一个接一个地完全描述,我正在寻找一种可靠的方法来提取各个工作规范。第一个目标是提取规范,然后希望将它们包装在一些封闭的HTML标记中,以便在保存为HTML文件时在浏览器中呈现。
显然,如果我提前知道顶级div的类名称为“jobitem”,我可以运行一个简单的XPath,如//div[@class='jobitem']
虽然会有几个这样的网站(设计差异很大,但所有的工作规格都是一个接一个地列出),而且我的程序不会有这样的类名知识的奢侈提前。我的程序将知道的一件事:工作标题的绝对和相对位置(<h2>
,<h3>
等)。换句话说,我将运行如下查询:
//*[self::h2 or self::h3 or self::h4][contains(., 'Country Manager')]
...生成一个Python lxml XPath对象数组,然后可以从中执行相对的XPath。也许这些知识是抓住每个标题之间所有文本的起点?
答案 0 :(得分:1)
&#34; ...生成一个Python lxml XPath对象数组,然后可以从中执行相对的XPath。也许这些知识是抓住每个标题之间所有文本的起点?&#34;
当然(如果我理解正确的话),此时使用相对XPath中的following-sibling
轴可以直接执行任务:
following-sibling::div