webpy图片下载守护程序

2012-07-17 10:18:21 +08:00
 zzWinD
我要实现一个图片下载程序,思路是这样的:
webpy
前台输入图片地址保存到数据库,后台有一个守护程序。发现有新的未下载的图片,马上下载。
现在想问的是 webpy 框架 自身可以实现这个守护程序吗?

说简明一点:webpy启动的时候,下载图片的程序也运行。
5756 次点击
所在节点    Python
25 条回复
sykp241095
2012-07-17 10:35:18 +08:00
可以,但没有这么做的
zzWinD
2012-07-17 10:46:37 +08:00
@sykp241095 谢谢你的回复,
请问什么方法才更适合我的需求?
sykp241095
2012-07-17 10:48:45 +08:00
You need a standalone consumer.
judezhan
2012-07-17 11:55:53 +08:00
...我实在是没明白你的意思。一个cronjob+shell脚本就搞定了吧?还是我曲解了你的意思?
shellex
2012-07-17 12:25:20 +08:00
@zzWinD 的意思是需要一个web介面提交下载地址,让呼叫一个下载程序去下载。

如果是我的话,我也会用一个独立程序来处理下载的事宜。你可以让这个下载程序访问数据库获得需要下载的任务,也可以让那个web暴露一个API提供任务给下载程序。
zzWinD
2012-07-17 14:48:25 +08:00
@judezhan 我比较喜欢收集网上的图片,但是每次看到另存为嫌麻烦。就像做个站点。把图片的地址提交上去,让服务器去下载好。有种随时随地保存图片的意思。。不好意思。。文采不好。


@shellex 嗯,我想也是独立的程序去下载。有点类似windows C#里面的服务,就默默的运行在后端。有新图片了,去下载。我想webpy 有没有这种daemon 的功能。
messense
2012-07-17 15:31:55 +08:00
也许需要用 python-rq 或者 celery 这样的Task Queue?
shellex
2012-07-17 16:04:24 +08:00
@zzWinD 这和webpy无关。web部分也不应该处理这种任务。如果是Linux配合cron或者自己做个daemon就可以了。
arzon
2012-07-17 16:11:06 +08:00
@zzWinD 典型的生产者-消费者的需求. 可以用线程+队列解决.
随应用服务器初始化一个消费者线程和生产队列. 提交地址时将地址放入队列. 消费者线程依次从队列中取出地址进行下载保存.
jamiesun
2012-07-17 23:26:10 +08:00
单独启动一个守护进程轮训就可以了

参考代码 http://www.talkincode.org/code/view/060bd1270e094713b390fd0bea8f19b5
zzWinD
2012-07-18 10:04:28 +08:00
@messense 没有接触过TaskQueue队列 找资料看看。

@shellex 嗯,cron 可能不实时,也是一种解决方法。

@arzon 正在看 生产者-消费者

@jamiesun 需要翻墙么? 翻不翻都打不开。
Archangel_SDY
2012-07-18 11:51:26 +08:00
做过一个类似的, 前台用js bookmarklet提交请求, 后台用celery处理下载, 队列用rabbitmq.
webpy的话用在处理前台请求和管理页比较合适.
lanbing
2012-07-18 15:10:09 +08:00
ilessd
2012-07-18 15:14:11 +08:00
ipconfiger
2012-07-18 16:10:27 +08:00
$sudo pip install celery

一切没烦恼
cyberscorpio
2012-07-18 20:40:48 +08:00
一般来说,可能你得提交两个地址。除了图片的 URL 之外,还要 HTTP_REFERER,否则很多网站会返回 403...
jamiesun
2012-07-19 22:17:19 +08:00
shiweifu
2012-07-20 10:32:04 +08:00
cronjob + Python + 一个kv(k是文件地址,v是保存的路径)
bigzhu
2012-07-24 10:34:22 +08:00
我做的 http://digzhu.com 其实有部分功能用到你说的这个.
我这个站是用来推荐网站的. 输入 url,然后抓取站点截图.

正好也是用 web.py 开发的. 确实得用另外的程序来抓.
python 就判断下抓过没有,还有转换下图片大小等杂事.
ivanlw
2012-09-22 18:47:47 +08:00
@bigzhu 你这个好神奇啊……怎么输入URL自动抓的?用的啥……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/42586

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX