使用lxml.html,我能够使用数据pid
fromstring(source).xpath('/html/body/article/section/div[1]/div[2]/p[2]')[0].get('data-pid')
但是,它只返回其中一个(在本例中为4559733570)。我记得能够立刻抓住所有这些,但我不记得如何。有人能指出我正确的方向吗?
HTML代码如下所示:
答案 0 :(得分:0)
假设您关心所有data-pid
元素中的属性p
:
>>> fromstring(source).xpath("//p/@data-pi")
应该返回你需要的东西。
答案 1 :(得分:0)
从您的png和xpath查询中,您感兴趣的所有<p>
元素似乎都嵌套在同一个<div>
中。 xpath查询/html/body/article/section/div[1]/div[2]/p[2]
将仅返回所选div(<p>
)中的第二个[2]
元素。如果您想要div中的所有段落,请使用/html/body/article/section/div[1]/div[2]/p
。
[ p.get("data-pid") for p in fromstring(source).xpath('/html/body/article/section/div[1]/div[2]/p') ]