Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scrapy 我如何混合两种类型的刮痧_Scrapy - Fatal编程技术网

Scrapy 我如何混合两种类型的刮痧

Scrapy 我如何混合两种类型的刮痧,scrapy,Scrapy,我有一个div,它既包含,也包含。 它们没有类或ID,所以我需要迭代它们,并根据内容激活一些逻辑 如果我只有,那很容易: 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

我有一个div,它既包含
,也包含
。 它们没有类或ID,所以我需要迭代它们,并根据内容激活一些逻辑

如果我只有
,那很容易:

    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
问题是在那些
中隐藏了一个
(一个或多个)和
  • 我怎样才能把他们列成“联合名单”?

    所以,不要:

    entry_content.xpath('.//p//text()')
    
    您可以使用XPath,如:

    entry_content.xpath('.//*[name()="p" or name()="ul"]//text()')
    
    阅读更多:

    谢谢!答案中有多余的括号:)