我是Xpath新手,正在尝试用以下格式删除网站:
<div class="top">
<a> tittle_name </a>
<div class="middle"> listed_date </div>
<div class="middle"> listed_value </div>
</div>
<div class="top">
<a> tittle_name </a>
<div class="middle"> listed_date </div>
</div>
<div class="top">
<a> tittle_name </a>
<div class="middle"> listed_value </div>
</div>
列出的“值”和“列出的日期”的存在是可选的。在
我需要将每个title_名称与各自列出的日期、列出的值(如果可用)分组,然后将reach记录插入MySQL。在
我使用的是scrapy shell,它给出了一些基本示例,比如
^{pr2}$上面的代码给出了标题名的列表和可用的列出日期、列出的值的列表,但是如何匹配它们?(由于格式不对称,我们不能按索引进行)。在
谢谢。在
好吧,由于网站没有指定
div[@class='middle']
中的某个内容是日期还是值,因此您必须用自己的方式编写代码来决定这一点。在我想日期有一些特定的格式,你可以通过一些分析来匹配,也许可以使用正则表达式。在
您能否更具体地说明}的可能值是什么?在
listed_date
和{请注意,这些XPath表达式是绝对的:
您需要这样的相对XPath表达式:
^{pr2}$第二。在(X)HTML这样的混合内容模型中选择文本节点不是一个好主意。您应该使用正确的DOM方法或使用
string()
函数提取字符串值。(在最后一种情况下,您需要为每个节点求值表达式,因为隐式节点集转换为singleton节点集)相关问题 更多 >
编程相关推荐