scrapy 2.3 CSVFeedSpider

2021-06-09 10:07 更新
classscrapy.spiders.CSVFeedSpider[源代碼]

這個(gè)spider與xmlFeedSpider非常相似,只是它迭代行,而不是節(jié)點(diǎn)。在每次迭代中被調(diào)用的方法是 ?parse_row()? .

delimiter

帶有csv文件中每個(gè)字段分隔符的字符串默認(rèn)為 ',' (逗號(hào))

quotechar

帶有csv文件中每個(gè)字段的外殼字符的字符串默認(rèn)為 '"' (引號(hào))。

headers

csv文件中的列名列表。

parse_row(responserow)[源代碼]

接收響應(yīng)和dict(代表每一行),其中為csv文件的每個(gè)提供的(或檢測(cè)到的)頭文件都有一個(gè)鍵。這個(gè)蜘蛛還提供了超越的機(jī)會(huì) adapt_response 和 process_results 用于預(yù)處理和后處理目的的方法。

CSVFeedspider示例

我們來(lái)看一個(gè)類似于前一個(gè)的例子,但是使用 CSVFeedSpider ::

from scrapy.spiders import CSVFeedSpider
from myproject.items import TestItem

class MySpider(CSVFeedSpider):
    name = 'example.com'
    allowed_domains = ['example.com']
    start_urls = ['http://www.example.com/feed.csv']
    delimiter = ';'
    quotechar = "'"
    headers = ['id', 'name', 'description']

    def parse_row(self, response, row):
        self.logger.info('Hi, this is a row!: %r', row)

        item = TestItem()
        item['id'] = row['id']
        item['name'] = row['name']
        item['description'] = row['description']
        return item
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)