2017-07-06 23 views
0

我想從網站抓取數據。我用這個代碼從scrapy中的多個類獲取文本

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(), 
      } 

,這是檢查元素:

enter image description here

我想在紅色橢圓每一個文字,像mengabadi,mengabadikan等有多個類'b'標記=> tur突出顯示。但是,我沒有得到任何結果。 enter image description here

什麼問題?如何解決它? 我已經改變我的代碼變成這樣:

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。

+0

的選擇應該是'」 .tur.highlight'' ... –

回答

1

選擇器.tur highlight表示 - 在所有元素中選擇元素highlight類別tur

要選擇多類使用選擇元素,而無需空格

SET_SELECTOR = '.tur.highlight' 
+0

我很抱歉,但它仍然沒有工作。我無法獲得文本mengabadi,mengabaikan等。爲什麼? – RiefSapthana

+0

認爲數據是通過JS呈現的。您可以使用scrapy splash查看呈現的HTML。 –