Scrapy:抓取CSV文件 - 没有任何输出
我正在按照这个例子:CSVFeedSpider 来抓取CSV数据,生成了'item.xml'文件,但这个xml文件里什么都没有。
有没有人能帮忙?谢谢!
csvspider.py
class MySpider(CSVFeedSpider):
name = 'csvexample'
start_urls = ['file:///D:/desktop/example.csv']
delimiter = ','
headers = ['Address', 'Website']
def parse_row(self, response, row):
log.msg('Hi, this is a row!: %r' % row)
item = csvItems()
item['address'] = row['Address']
item['website'] = row['Website']
return item
items.py
class csvItems(Item):
address = Field()
website = Field()
example.csv
Item,Address,Website
1,"this, address","www.google.com"
运行时使用的命令
scrapy crawl csvexample -o item.xml -t xml
1 个回答
0
如果你单独运行这个爬虫,没有设置输出参数,那么你可能会看到类似下面的错误信息:
2014-05-12 08:08:41+0100 [scrapy] WARNING: ignoring row 1 (length: 3, should be: 2)
2014-05-12 08:08:41+0100 [scrapy] WARNING: ignoring row 2 (length: 3, should be: 2)
要解决这个问题,你需要在你的爬虫代码中修改一下请求头的那一行,具体修改方式如下:
headers = ['Item', 'Address', 'Website']