代码之家  ›  专栏  ›  技术社区  ›  not2qubit

如何用scrapy中的某个标题来刮一个span?

  •  -1
  • not2qubit  · 技术社区  · 6 年前

    我正在尝试使用Scrapy和CSS路径来获取一些 跨度

    <div class="announcement">
        <span title="Name">Homer Simpson</span>
        <span title="Date">2018-09-19</span>
        <span title="Type">House</span>
    </div>
    

    response.css("div.announcement span::attr(title)").extract()
    # ['Name', 'Date', 'Type']
    
    response.css("div.announcement span::text").extract()
    # ['Homer Simpson', '2018-09-19', 'House']
    

    但这只会导致 跨度

    response.css("div.announcement <SomeMagicHere>('Name')").extract()
    # ['Homer Simpson']
    

    我怎样才能得到一个只包含每个 标题

    1 回复  |  直到 6 年前
        1
  •  1
  •   not2qubit    6 年前

    您可以使用“contains”属性:

    response.css("div.announcement span[title*='Name']::text").extract()