1

我正在使用 twython 提取 Twitter 上为#apple 共享的图像。这些图像具有由 twitter 分配的唯一图像 ID,但图像在图形上是相同的。如何检测重复图像?

对于本地图像,我得到了解决方案:

计算每个图像的哈希值,然后删除重复项。

import struct
import os
import hashlib

def jpeg(fh):
    hash = hashlib.md5()
    assert fh.read(2) == "\xff\xd8"
    while True:
        marker,length = struct.unpack(">2H", fh.read(4))
        assert marker & 0xff00 == 0xff00
        if marker == 0xFFDA: # Start of stream
            hash.update(fh.read())
            break
        else:
            fh.seek(length-2, os.SEEK_CUR)
    print "Hash: %r" % hash.digest()
jpeg(file("two.jpg")) # Gives the hash of the image

但是,推特图像存储在外部服务器上,这种方法不起作用?假设我只能从 twitter 获取独特的图像?

例如:推特数据给出:

http://pbs.twimg.com/media/CKwk2doVEAE-Y9g.jpg http://pbs.twimg.com/media/CKwka9fUwAEmdLr.jpg

并且所有三个都是相同的图像。

4

0 回答 0