【发布时间】:2016-07-18 13:15:03
【问题描述】:
我不知道如何使用 xpath 从包含许多 <span> 标签和 <p> 标签的标签中获取格式化文本。
是这样的:
<span>This</span>
<span> is</span>
<span> main</span>
<span> text</span>
<p><span>First</span>
<span>p-tag</span<
</p>
<p> second p tag ....
所以有两种类型的标签。 <p> 表示此标签内的文本在新行上。并且文本本身在<span>标签中被分成许多子串。
问题是<p> 中没有文本。
从上面的sn-p,我想得到(例如在列表中):
['This is main text','First p-tag','seco....]
这项工作,但它只得到<p>标签内的文本:
def get_popis_url(url):
root = get_root(url)
ps = root.xpath('//div[@class="description"]/p')
for p in ps:
text = p.xpath('string()').replace(' ',' ').strip()
print text
所以上面 html sn-p 的结果是:
First p-tag
second p tag
你有什么想法吗?
【问题讨论】:
-
你为什么不试试这个:-
//div[@class="description"]/*
标签: python xpath web-scraping