Scrapy 如何在属性内部的类中提取文本?

Ana*_*ira 3 scrapy python-3.x

我在下面有一个 HTML 代码:

<div 
      class="hero-data__skills-item hero-data__skills-item-passive J-tooltip" 
      title='<div class="tootip">
                <div class="tootip-name">Royal Power</div>
                <div class="tootip-desc">Ketika HP Thane turun di bawah 30%, dia memulihkan 24% dari Max HP-nya selama 6 detik. Cooldown 75 detik.</div>
             </div>'>

</div>
Run Code Online (Sandbox Code Playgroud)

使用此代码,我可以提取标题属性:

response.css('.hero-data__skills-item::attr(title)').extract_first()
Run Code Online (Sandbox Code Playgroud)

然后我从 title 属性得到这个代码:

<div class="tootip"><div class="tootip-name">Royal Power</div><div class="tootip-desc">Ketika HP Thane turun di bawah 30%, dia memulihkan 24% dari Max HP-nya selama 6 detik. Cooldown 75 detik.</div></div>
Run Code Online (Sandbox Code Playgroud)

我想在 title 属性中提取tooltip-name类中的文本,所以我会得到Royal Power

我能怎么做?

Apa*_*ala 5

您可以Selector在任何文本上创建一个单独的:

outer = response.css('.hero-data__skills-item::attr(title)').extract_first()
sel = Selector(text=outer)
name = sel.css('.tooltip-name::text').get()
Run Code Online (Sandbox Code Playgroud)