Scrapy:抓取CSV文件 - 没有任何输出

0 投票
1 回答
1184 浏览
提问于 2025-04-18 06:16

我正在按照这个例子: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']

撰写回答