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

以上是Scrapy CSVFeedSpider的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>