玩蛇网提供最新Python编程技术信息以及Python资源下载!

python爬虫脚通过web控制起始暂停的方法

我用python写了个爬虫脚本,怎么通过web 方式控制开始,暂停呢?

楼主的问题可以分为两部分。一是找到一种适合的 IPC(进程间通信)方式来实现控制脚本的目的,二是找一个合适的web framework来写一个好用的web UI。

一的话,IPC有很多种方式,楼上的signal/env/process都是不错的方式。我也很推荐socket,毕竟这也是非常常见的方式。library方面,我推荐Twisted或者ZeroMQ。前者提供了多种IPC方式,不过学起来略有点慢。后者提供了基于socket的IPC方式,非常灵活。
二的话,Django/bottle/web.py等等等等,随便抓一个来用就是了。

比较推荐通过变量的方式控制,变量可以是爬虫内部的,也可以是文件或者db的某个标记,爬虫一轮一轮的跑,每一次都读取一下这个变量即可。

最偷懒的方法,写个cgi,cgi内容是执行一段bash脚本,cgi可以用perl python php写都行

我之前自己尝试过写过一个框架,其实也就是通过python的os.popen执行shell
在每个需要web控制脚本启动的机器上都写一个tornado的API服务,然后有一个前台页面,API可以查询指定脚本(实质是得到脚本名的参数,然后python执行shell命令——ps aux | grep 脚本名称)然后读取结果返回前台页面,然后会得到相应的进程id,再通过传递进程ID参数去执行kill操作,也可以传递命令参数,然后tornado处理。

这样做很偷懒,但是安全性不好。

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd20283.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月31日 - 14时37分26秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules