【发布时间】:2016-03-02 19:36:51
【问题描述】:
假设我们有以下 html sn-p:
...
<section>
<a href="https://example.com" data-utag="{"sku":"12340", "abc":"Lorem ipsum"}">sometext</a>
</section>
...
使用 XPATH,如何从 data-utag 中仅提取 SKU 值(即 12340)?
【问题讨论】:
-
我很确定你不能。由于
"的滥用,该 sn-p 不是格式良好的 XML 文档的一部分。 -
如果所有这些值都是这样的,您可以通过
node.attrib["data-utag"]访问整个值,并使用eval(value)将其作为Python字典读取。或者你可以做一些快速而肮脏的字符串拆分。 -
忽略引用问题,您可以使用正则表达式与 xpath (see)[regular-expressions.mobi/xpath.html],所以也许。这要看数据格式是否。这个确切的字符串,当然,但如果它类似于 python 字典的字符串表示,那么通常它需要一个解析器。
-
我没有提出结构,但 SKU 对我来说是有价值的数据。此示例取自市场之一。他们使用包含字典的 data-utag。