Scrapy 如何在属性内部的类中提取文本? [英] How Scrapy extract text inside class that inside attribute?

查看:24
本文介绍了Scrapy 如何在属性内部的类中提取文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在下面有一个 HTML 代码:

<divclass="hero-data__skills-item hero-data__skills-item-passive J-tooltip"title='<div class="tootip"><div class="tootip-name">皇家力量</div><div class="tootip-desc">Ketika HP Thane turun di bawah 30%,dia memulihkan 24% dari Max HP-nya selama 6 detik.冷却时间 75 detik.</div></div>'>

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

response.css('.hero-data__skills-item::attr(title)').extract_first()

然后我从标题属性中得到这个代码:

<div class="tootip"><div class="tootip-name">Royal Power</div><div class="tootip-desc">Ketika HP Thane Turundi bawah 30%, dia memulihkan 24% dari Max HP-nya selama 6 detik.冷却时间 75 detik.</div></div>

我想提取标题属性中tooltip-name类中的文本,这样我就会得到皇家力量

我该怎么办?

解决方案

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

outer = response.css('.hero-data__skills-item::attr(title)').extract_first()sel = 选择器(文本=外部)name = sel.css('.tooltip-name::text').get()

I have an HTML code below :

<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>

Using this code, I can extract title attribute :

response.css('.hero-data__skills-item::attr(title)').extract_first()

And then I get this code from title attribute :

<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>

I want to extract the text inside tooltip-name class inside title attribute, so I will get Royal Power,

how can I do?

解决方案

You can create a separate Selector over any text:

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

这篇关于Scrapy 如何在属性内部的类中提取文本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆