Scrapy爬虫打包成可执行文件
前言
朋友托了我写了个小爬虫,然后写成之后老是要在我这儿跑,交付不了给朋友。项目太小,也不好用scrapyd托管在服务器。找了找有pyinstall和Auto-py-to-exe可以打包成可执行程序,也遇到了不少问题。好不容易成功了,略微分享一二。
步骤
Scrapy代码部分
原来在Scrapy下,我都是直接使用CLI命令行方式启动爬虫的:
$ scrapy crawl xypt -O xypt.xml
现在需要采用pyinstall(auto-py-to-exe)打包,就不能再使用命令行来启动了 ,我们就需要写一个python脚本来启动相关的spider。
根据Run Scrapy from a script,编写了从python脚本启动爬虫的方法,还简单做了个交互。
- 系统调用方案
也可以用cmdline库来进行调用,看起来更简单,就是直接在execute里面把原来CLI的输入写进去
from scrapy.cmdline import execute
execute(['scrapy', 'crawl', 'xypt', '-O', 'xypt.xml']);
execute(['scrapy', 'crawl', 'xyptinfo', '-O', 'infoResult.xml']);
- API启动方案
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import warnings
import xlwings