python keep-alive连接和下载图像

时间:2014-03-10 07:10:49

标签: python

我需要通过python从网站下载图片,但这张图片每隔一秒就会改变一次。 可能吗: - 设置python连接[keep-alive] - 下载图像;睡1.5;下载图片;睡1.5;下载图片;睡1.5; - 关闭连接

我的意思是每1.5秒不创建与网站的连接使用一个保持连接。并在脚本结束时关闭连接(例如15秒后)。确保连接已关闭。

如果您有任何想法,请告诉我示例。谢谢!

1 个答案:

答案 0 :(得分:1)

requests library与一些可选标志一起使用:

import requests
r = requests.get(url='http://upload.wikimedia.org/wikipedia/en/a/a9/Example.jpg',stream=True)
print r.headers['last-modified']

将文件创建时间作为输出:

Thu, 03 Oct 2013 23:15:52 GMT

我们使用'stream = True'标志,this description,因为:

  

此时只下载了响应头并且连接保持打开状态,因此允许我们进行内容检索条件

然后,您可以检查新文件时间戳是否从旧文件更新,然后仅在文件更新时下载。要下载该文件,请使用r.content:

image = r.content

这是一个有效的代码:

import requests
import time
oldtime = ''
for i in xrange(100):
    r = requests.get(url='http://upload.wikimedia.org/wikipedia/en/a/a9/Example.jpg',stream=True)
    newtime = r.headers['last-modified']
    if newtime != oldtime:
        image = r.content
        oldtime = newtime
    # you can put your time.sleep() statement here, but it is not necessary