Scrapy CSVFeedSpider

Scrapy CSVFeedSpider,本章介绍了CSVFeedSpider类常用属性delimiterheaders,函数parse_row(),以及CSVFeedSpider的具体实例。

CSVFeedSpider 类

class scrapy.contrib.spiders.CSVFeedSpider
CSVFeedSpider除了其按行遍历而不是节点之外,其他和XMLFeedSpider十分类似,每次迭代时会调用函数parse_row()

  • delimiter
    在CSV文件中用于区分字段的分隔符,类型为string,默认值为逗号(‘,’)。

  • headers
    一个列表,包含CSV文件中需要提取的字段名称。

  • parse_row(response, row)
    该方法用于接收一个response对象以及一个header字段为键的字典。您也可以覆盖 adapt_responseprocess_results 方法来进行预处理后处理

CSVFeedSpider 示例

from scrapy.spiders import CSVFeedSpider
from tutorial.items import TutorialItem

class MySpider(CSVFeedSpider):
    name = 'geek-docs'
    allowed_domains = ['iqianyue.com']
    # 设置要分析的 XML 文件地址
    start_urls = ['http://yum.iqianyue.com/weisuenbook/pyspd/part12/mydata.csv']
    delimiter = ','
    headers = ['name', 'sex', 'addr', 'email']

    def parse_row(self, response, row):
        item = TutorialItem()
        item['name'] = row['name']
        item['sex'] = row['sex']
        item['addr'] = row['addr']
        item['email'] = row['email']
        print("姓名是:{}".format(item['name']))
        print("性别是:{}".format(item['sex']))
        print("地址是:{}".format(item['addr']))
        print("邮件是:{}".format(item['email']))
        return item

mydata.csv内容显示如下:
Scrapy CSVFeedSpider
运行程序,输出结果如下:
Scrapy CSVFeedSpider

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程