2017-03-06 6 views
1

ここでは、Webサイトのページに記載されているリストからデータを保存します。私がコマンドを実行している場合、scrapyシェルに個別に出力が表示されています。以下 はJSONまたはCSV形式でデータを格納していない私のコードです:jsonまたはcsv形式でスクラップで廃棄されたデータを保存できません

import scrapy 

class QuotesSpider(scrapy.Spider): 
    name = "medical" 

    start_urls = ['https://medlineplus.gov/ency/article/000178.html/'] 


    def parse(self, response): 
     yield 
     { 
      'topic': response.css('title::text').extract_first(), 
      'symptoms': response.css("article div#section-2 li::text").extract() 
     } 

私はあなたがあなたのURLを修正する必要があり

scrapy crawl medical -o medical.json 

答えて

1

を使用してこのコードを実行しようとしましたが、それはhttps://medlineplus.gov/ency/article/000178.htmとではありませんhttps://medlineplus.gov/ency/article/000178.html/

また

、そしてもっと重要なのは、あなたがItemクラスを定義し、収量/あなたのクモのparse()コールバックからそれを返す必要があります。

import scrapy 


class MyItem(scrapy.Item): 
    topic = scrapy.Field() 
    symptoms = scrapy.Field() 


class QuotesSpider(scrapy.Spider): 
    name = "medical" 

    allowed_domains = ['medlineplus.gov'] 
    start_urls = ['https://medlineplus.gov/ency/article/000178.htm'] 

    def parse(self, response): 
     item = MyItem() 

     item["topic"] = response.css('title::text').extract_first() 
     item["symptoms"] = response.css("article div#section-2 li::text").extract() 

     yield item 
関連する問題