使用Scrapy在没有活动项目的情况下抓取本地文件?

时间:2015-01-14 23:57:31

标签: python web-scraping scrapy web-crawler local

是否可以在没有活动项目的情况下使用Scrapy 0.18.4抓取本地文件?我见过this回答看起来很有希望,但要使用crawl命令,你需要一个项目。

或者,是否有一种简单/极简的方式为现有蜘蛛设置项目?我有一个Python文件中定义的蜘蛛,管道,中间件和项目。我创建了一个只包含项目名称的scrapy.cfg文件。这让我可以使用crawl,但由于我没有蜘蛛文件夹,Scrapy无法找到我的蜘蛛。我可以将Scrapy指向正确的目录,还是需要将我的项目,蜘蛛等分成单独的文件?

[编辑]我忘了说我正在使用Crawler.crawl(my_spider)运行蜘蛛 - 理想情况下我仍然希望能够像这样运行蜘蛛,但是可以在我的脚本的子进程中运行它如果那是不可能的。

结果我联系的答案确实有效 - http://localhost:8000可以用作start_url,因此不需要项目。

1 个答案:

答案 0 :(得分:3)

作为一个选项,您可以从脚本运行Scrapy,这里使用的是self-contained example scriptoverview方法。

这并不意味着您必须将所有内容放在一个文件中。您仍然可以spider.pyitems.pypipelines.py - 只需在您开始抓取的脚本中正确导入它们。