【问题标题】:Scrapy : storing the dataScrapy:存储数据
【发布时间】:2012-12-28 17:38:19
【问题描述】:

我是 python 和 scrapy 的新手。我正在尝试遵循 Scrapy 教程,但我不明白 storage step 的逻辑。

scrapy crawl spidername -o items.json -t json

scrapy crawl spidername --set FEED_URI=output.csv --set FEED_FORMAT=csv 

我不明白:

  • -o
  • -t
  • --设置

感谢您的帮助

【问题讨论】:

    标签: python scrapy


    【解决方案1】:

    您可以通过在项目目录中键入scrapy crawl -h 来查看可用命令的列表。

    scrapy crawl spidername -o items.json -t json
    
    • -o 指定转储项目的输出文件名 (items.json)
    • -t 指定转储项目的格式(json)

    scrapy crawl spidername --set FEED_URI=output.csv --set FEED_FORMAT=csv

    • --set 用于设置/覆盖设置
    • FEED_URI 用于设置项目转储的存储后端。在这种情况下,它被设置为使用本地文件系统的“output.csv”,即一个简单的输出文件。(对于当前示例 - output.csv)
    • FEED_FORMAT 用于设置(输出)提要的序列化格式,即(对于当前示例 csv)

    参考资料(Scrapy 文档):

    1. Available tool commands (for the command line)
    2. Feed exports

    【讨论】:

    • 所以这两行是等价的,如果在第一行,我把item.json改成output.csv,把json改成csv?
    • 没错。或者,您可以将 FEED_URI 和 FEED_FORMAT 添加到您的 settings.py 文件中,然后只需键入不带其他参数的“scrapy crawl spidername”。
    • 如果它涵盖了所提出的问题,请接受此答案,或者让我知道我是否可以采取任何措施来改进答案。 :)
    【解决方案2】:

    --设置

    命令行提供的参数优先,覆盖任何其他选项。

    您可以使用 -s(或 --set)命令行选项显式覆盖一个(或多个)设置。

    Example:
    
        scrapy crawl myspider -s LOG_FILE=scrapy.log
    
        sets the LOG_FILE settings value to `scrapy.log`
    

    -o

    指定输出文件名和扩展名WHERE你会将抓取的数据写入

    Examples: 
        scrapy crawl quotes -o items.csv
        scrapy crawl quotes -o items.json
        scrapy crawl quotes -o items.xml
    

    -t

    指定序列化格式或如何项目编写

    https://www.tutorialspoint.com/scrapy/scrapy_settings.htm

    【讨论】:

      猜你喜欢
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多