我想从网站抓取数据。我用这个代码
import scrapy
class KamusSetSpider(scrapy.Spider):
name = "kamusset_spider"
start_urls = ['http://kbbi.web.id/abadi']
def parse(self, response):
SET_SELECTOR = '.tur highlight'
for brickset in response.css(SET_SELECTOR):
yield {
'name': brickset.css(SET_SELECTOR).extract_first(),
}
这是检查元素:
我想获取红色椭圆中的每个文本,如 mengabadi、mengabadikan 等。'b' 标签中有多个类 => tur highlight。但是,我没有得到任何结果。
有什么问题?如何解决? 我已将我的代码更改为:
def parse(self, response):
for kamusset in response.css("div#d1"):
text = kamusset.css("div.sub_17 b.tur.highlight::text").extract()
print(dict(text=text))
但还是不行。它返回 null。
最佳答案
Selector .tur highlight
表示 - 在所有具有 tur
类的元素中选择元素 highlight
。
要选择具有多个类的元素,请使用不带空格的选择器 :
SET_SELECTOR = '.tur.highlight'
关于python - 从scrapy的多个类中获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44948665/