小编12R*_*n12的帖子

从脚本中抓取。不会导出数据

我正在尝试从脚本运行 scrapy,但无法让程序创建导出文件

我尝试以两种不同的方式导出文件:

  1. 有管道
  2. 具有饲料出口。

当我从命令行运行 scrapy 时,这两种方法都有效,但当我从脚本运行 scrapy 时,这两种方法都不起作用。

我并不是唯一遇到这个问题的人。这是另外两个类似的未解答的问题。直到我发布问题后我才注意到这些。

  1. 通过Python脚本调用spider时,JSON在scrapy中不起作用?
  2. 从 python 脚本调用 scrapy 不创建 JSON 输出文件

这是我从脚本运行 scrapy 的代码。它包括使用管道和 feed 导出器打印输出文件的设置。

from twisted.internet import reactor

from scrapy import log, signals
from scrapy.crawler import Crawler
from scrapy.xlib.pydispatch import dispatcher
import logging

from external_links.spiders.test import MySpider
from scrapy.utils.project import get_project_settings
settings = get_project_settings()

#manually set settings here
settings.set('ITEM_PIPELINES',{'external_links.pipelines.FilterPipeline':100,'external_links.pipelines.CsvWriterPipeline':200},priority='cmdline')
settings.set('DEPTH_LIMIT',1,priority='cmdline')
settings.set('LOG_FILE','Log.log',priority='cmdline')
settings.set('FEED_URI','output.csv',priority='cmdline')
settings.set('FEED_FORMAT', 'csv',priority='cmdline')
settings.set('FEED_EXPORTERS',{'csv':'external_links.exporter.CsvOptionRespectingItemExporter'},priority='cmdline')
settings.set('FEED_STORE_EMPTY',True,priority='cmdline')

def stop_reactor():
    reactor.stop()

dispatcher.connect(stop_reactor, signal=signals.spider_closed)
spider = MySpider()
crawler = Crawler(settings)
crawler.configure()
crawler.crawl(spider)
crawler.start() …
Run Code Online (Sandbox Code Playgroud)

scrapy web-scraping python-2.7 twisted.internet web

5
推荐指数
1
解决办法
2220
查看次数

标签 统计

python-2.7 ×1

scrapy ×1

twisted.internet ×1

web ×1

web-scraping ×1