从其他脚本中抓取内容

时间:2020-04-25 14:45:53

标签: python scrapy

我正在编写一个python程序,该程序需要来自互联网的数据。因此,我写了一些Scrapy蜘蛛,这些蜘蛛会在几页上抓取数据。之后,他们将数据存储在类似于我的数据库的Excel文件中。为此,我编写了一个自己的类,该类按照我需要的方式处理excel文件中的数据。这样行得通。现在我的问题:

我希望蜘蛛从另一个python脚本开始。我发现一些代码可以做到这一点。但是我还需要从Scrapy项目以及管道,项目等中导入所有设置。我不能使用

    get_project_settings()

因为该脚本位于另一个目录中(Scrapy项目文件夹与我希望其启动的脚本位于同一目录中): 那就是我到目前为止所得到的:

    from scrapy.crawler import CrawlerProcess
    from desktop.Project.bots.question.spider import spider_test

    process = CrawlerProcess(settings={'Here I need to import the settings file from the spiders Project' })
    process.crawl(spider_test)
    process.start()

蜘蛛运行,但我需要设置。当我将该脚本放置在与设置相同的项目文件夹中并使用以下代码时,它将完全正常工作:

    from scrapy.crawler import CrawlerProcess
    from desktop.question.spider import spider_test

    process = CrawlerProcess(get_project_settings())
    process.crawl(spider_test)
    process.start()

我也不想将设置文件中的所有设置都重写为字典,并像这样手动实现它:

   process = CrawlerProcess(settings={
"FEEDS": {
    "items.json": {"format": "json"},
},
})

最后一个代码只是Scrapy文档中的一个示例,显然我不需要Exporter。 我已经尝试过导入所需的设置文件并将其设置为settings参数,但是参数设置需要python字典类型。

   process = CrawlerProcess(settings={})

我真的希望有人能为我提供一些解决方法的解释。

1 个答案:

答案 0 :(得分:0)

在您的项目中添加一个新文件(example.py)

import os
while True:
    os.system('scrapy crawl verbos')

然后

python example.py
相关问题