2013-07-09 1 views
1

мне нужно разобрать сайт, используя scrapy.The HTML-шаблон выглядит следующим образом
используя Scrapy разборе сайт под одной DIV

div class="nameinfo" 
    div class="namesub" 
      span class="namesub">/span> 
      span class="info">data of type 1 /span> 
    /div 
    div class="namesub"> 
      span class="namesub">/span> 
      span class="info">data of type 2 /span> 
    /div>
div class="namesub"> span class="namesub">/span> span class="info">data of type 3 /span>> /div> /div
У меня есть три различных типов данных, как помечено выше. Любая идея, как я могу получить требуемые данные. Все они находятся в элементах span внутри div с классом attrib 'namesub. Спасибо заранее :)

ответ

3

Вот что вы должны поместить внутри паука:

hxs = HtmlXPathSelector(response) 

namesubs = hxs.select("//div[@class='namesub']") 
for namesub in namesubs: 
    item = MyItem() 
    item["info"] = namesub.select('.//span[@class="info"]/text()').extract()[0] 

    yield item 

Этот код предполагает, что вы определили MyItem класс элементов с info поле.

Надеюсь, что это поможет.

Смежные вопросы