0

我试过这个;

no_of_p_tags = 10 # I'm assuming this. Yet to figure out how to find this.
for x in range(1,no_of_p_tags + 1)
    test = content.xpath('//*[@id="ciHomeContentlhs"]/div[4]/div[2]/div[1]/p[x]/span/text()')
    print test

(1) 如何在 div 中找到“p”标签的数量,以及 (2) 遍历它们以使用 python xpath 抓取底层文本?

4

1 回答 1

2

选择p标签而不是它们的文本内容;通过使用p[span],我们只选择将元素作为直接子元素的p标签:span

ptags_with_span = content.xpath('//*[@id="ciHomeContentlhs"]/div[4]/div[2]/div[1]/p[span]')
no_of_p_tags = len(ptags_with_span)
for ptag in ptags_with_span:
    print ptag.xpath('./span/text()')
于 2013-04-09T11:40:23.993 回答