scrapyページジャンプ後にデータを取得


最初のサイトはhrefなので、ジャンプしてRequestを送る必要があります.
こんにちは

以下は独自のコードです.
 
def parse(self, response):
    href_set = []
    list = response.xpath("//div[@style='display:none;']//li/a/@href").extract()    #  href
    for i in range(0, 50, 1):   #    50   
        href_set.append(list[i])
    for href in href_set:
        yield scrapy.Request(url=href, callback=self.new_parse)
        #    Request       url,      new_parse  ,     

def new_parse(self, response):
    myitem = TutorialItem()
    myitem['article_title'] = response.xpath("//h1[@class='main-title']/text()").extract()
    myitem['article_content'] = response.xpath("//div[@class='article']//p/text()").extract()
    #        ,    
    myitem['article_image'] = response.xpath("//div[@class='img_wrapper']//img/@src").extract_first()
    #     item   pipeline
    yield myitem

全体的な考え方はparseの自動呼び出しでhrefを取得し,その後Requestリクエストで新しいページコンテンツを取得し,さらに処理することである.
登ったページにn層hrefがある場合は、n回のRequestを呼び出し、自分がデータを取得したいページに要求するまで登って処理します.そうしないと、Requestを続け、ジャンプアクセスを行います(私のは1層hrefだけです.つまりhrefを調整します).
実は内蔵関数parseの原理も似ています