2017-03-27 7 views
1

私は私のXPath相対を作るためにドットを配置すると、それは{「名」:「なし」}を返す私は、ドットを削除すると、ループがXPathの相対パスを返しなし

.//*[@id="listingAds"]/section/section/ul/li[1]/a/section/h2 
を終了するまで、それは同じデータを繰り返し、

はここにあなたのSET_SELECTORがすでにリストのリストにあなたを取得するための完全コード

import scrapy 
class BrickSetSpider(scrapy.Spider): 
    name = "brickset_spider" 
    start_urls = ['https://www.leboncoin.fr/annonces/offres/bretagne/'] 

    def parse(self, response): 
     SET_SELECTOR = '.dontSwitch .trackable' 
     for annonce in response.css(SET_SELECTOR): 


      NAME_SELECTOR = './/*[@id="listingAds"]/section/section/ul/li[1]/a/section/h2' 
      NAME_CATEGORIE = '.item_title+ .item_supp ::text' 
      NAME_PLACE = '.item_supp+ .item_supp ::text' 
      NAME_PRICE = '.item_price ::text' 

      yield { 
      'name': annonce.xpath(NAME_SELECTOR).extract_first(), 
      } 

答えて

0

です。換言すれば、各annonceセレクタは各検索結果要素(各リスト)に対応する。 NAME_SELECTORを適切に調整してください:

NAME_SELECTOR = './/h2/text()'