我如何在scrapy中混合两种类型

时间:2014-10-28 21:48:34

标签: scrapy

我有一个div,其中包含<p>&{39}和<ul>&#39; s。 它们没有类或id,所以我需要迭代它们并根据内容激活一些逻辑。

如果我只有<p>,则很容易:

    entry_content = sel.xpath('//div[contains(@class, "entry-content")]')

    all_p = entry_content.xpath(('.//p//text()')).extract()

    for p in all_p:
        #do some logic according to content

问题在于,<p>隐藏了<ul>(一个或多个)<li>&#39}。

我如何制作一个联合名单&#34;他们?

1 个答案:

答案 0 :(得分:0)

所以,而不是:

entry_content.xpath('.//p//text()')

您可以使用XPath:

entry_content.xpath('.//*[name()="p" or name()="ul"]//text()')

了解更多: