scrapy 2.3 CSVFeedSpider

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

这个spider与xmlFeedSpider非常相似,只是它迭代行,而不是节点。在每次迭代中被调用的方法是 ​parse_row()​ .

delimiter

带有csv文件中每个字段分隔符的字符串默认为 ',' (逗号)

quotechar

带有csv文件中每个字段的外壳字符的字符串默认为 '"' (引号)。

headers

csv文件中的列名列表。

parse_row(responserow)[源代码]

接收响应和dict(代表每一行),其中为csv文件的每个提供的(或检测到的)头文件都有一个键。这个蜘蛛还提供了超越的机会 adapt_response 和 process_results 用于预处理和后处理目的的方法。

CSVFeedspider示例

我们来看一个类似于前一个的例子,但是使用 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
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号