scrapy保存csv
时间: 2023-09-23 16:02:23 浏览: 187
python3使用scrapy生成csv文件代码示例
在Scrapy中,你可以使用以下步骤将数据保存到CSV文件中:
1. 在项目的settings.py文件中添加以下代码以启用CSV输出:
```python
FEED_FORMAT = 'csv'
FEED_URI = 'output.csv'
```
其中,FEED_FORMAT指定了输出格式为CSV,FEED_URI指定了输出文件的路径和名称。
2. 在Spider中定义item并将其导出到CSV文件中。例如,假设你有一个Spider,它从网站中提取了书籍的信息。你可以在Spider中定义一个item,然后将其导出到CSV文件中。以下是一个示例:
```python
import scrapy
from scrapy.loader import ItemLoader
from scrapy.item import Item, Field
class BookItem(Item):
title = Field()
author = Field()
price = Field()
class BooksSpider(scrapy.Spider):
name = "books"
start_urls = [
'http://books.toscrape.com/catalogue/category/books/science_22/index.html'
]
def parse(self, response):
for book in response.css('article.product_pod'):
loader = ItemLoader(item=BookItem(), selector=book)
loader.add_css('title', 'h3 a::attr(title)')
loader.add_css('author', 'a::attr(href)')
loader.add_css('price', 'p.price_color::text')
yield loader.load_item()
```
在这个示例中,我们定义了一个BookItem类,它有三个属性:title,author和price。在Spider中,我们使用ItemLoader加载器将每个书籍的信息加载到BookItem对象中,然后使用yield语句将其输出到CSV文件中。
3. 运行Spider并查看CSV文件。运行以下命令来启动Spider:
```
scrapy crawl books
```
当Spider运行时,它会将提取到的数据输出到CSV文件中。你可以打开output.csv文件来查看结果。
阅读全文