我想解析所有img标签的html,下载src指向的所有图像,然后将这些文件添加到zip文件。我宁愿在记忆中做所有这些,因为我可以保证不会有那么多的图像。解析html文件并将找到的图像添加到zip文件
假设图像变量已经从解析html中填充。我需要帮助的是将图像放入zip文件中。
from zipfile import ZipFile
from StringIO import StringIO
from urllib2 import urlopen
s = StringIO()
zip_file = ZipFile(s, 'w')
try:
for image in images:
internet_image = urlopen(image)
zip_file.writestr('some-image.jpg', internet_image.fp.read())
# it is not obvious why I have to use writestr() instead of write()
finally:
zip_file.close()
使用的urllib2/LXML/XPath的/谷歌 – mykhal 2009-12-22 22:22:51
第二布莱恩·阿格纽的言论,看起来你已经差不多把一切都整理。你必须使用zip_file.writestr(),因为你是从一个字节缓冲区(即:一个字节字符串)写入数据,而不是从位于文件系统上的文件(这是zip_file.write()希望接收的文件)。 – 2009-12-22 23:29:37
不要忘记其中引用的样式表和图像... – 2013-08-19 21:37:28