如何将Scrapy脚本打包到独立应用程序中?

时间:2013-08-30 12:09:58

标签: python scrapy desktop-application py2exe pyinstaller

我有一套Scrapy蜘蛛。它们需要每天从桌面应用程序运行。 从用户的角度来看,在另一台Windows机器上安装和运行它的最简单方法是什么?

3 个答案:

答案 0 :(得分:0)

最简单的方法是在python中编写一个脚本,我想......

如果您运行的是Windows Server,您甚至可以安排使用的命令(scrapy crawl yoursprider)来运行蜘蛛。

答案 1 :(得分:0)

创建一个运行scrapy crawl <spider_name>作为系统命令的脚本(例如 run_spider.py )。

<强> run_spider.py

from os import system
output_file_name = 'results.csv'
system('scrapy crawl myspider -o ' + output_file_name + ' -t csv')

然后将该脚本提供给PyInstaller:

pyinstaller run_spider.py

答案 2 :(得分:0)

这是将Spider作为独立脚本或可执行文件运行的另一种可能性

import scrapy
from scrapy.crawler import CrawlerProcess

class MySpider(scrapy.Spider):
    # Your spider definition
    ...

process = CrawlerProcess({
    'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'
})

process.crawl(MySpider)
process.start() # the script will block here until the crawling is finished

您可以在此处找到更多信息:https://doc.scrapy.org/en/1.0/topics/practices.html