Python 如何从目录中的html文件中提取图像?

Python 如何从目录中的html文件中提取图像?,python,html,image,beautifulsoup,Python,Html,Image,Beautifulsoup,以下是这个问题的后续内容: 基本上,我有一个html文件目录,每个文件都包含我想单独保存在同一目录中的图像 在对程序进行建议的更改后,我仍然收到一个错误: Image: theme/pfeil_grau.gif Traceback (most recent call last): File "C:\Users\gokalraina\Desktop\modfile.py", line 25, in <module> im = Image.open(image) File "C:\

以下是这个问题的后续内容: 基本上,我有一个html文件目录,每个文件都包含我想单独保存在同一目录中的图像

在对程序进行建议的更改后,我仍然收到一个错误:

Image: theme/pfeil_grau.gif

Traceback (most recent call last):
File "C:\Users\gokalraina\Desktop\modfile.py", line 25, in <module>
  im = Image.open(image)
File "C:\Python27\lib\site-packages\PIL\Image.py", line 1956, in open
prefix = fp.read(16)
TypeError: 'NoneType' object is not callable

Image.open()
可能无法处理远程文件。您最好使用
urllib
urllib2
模块下载图像。

Image.open()
可能无法处理远程文件。您最好使用
urllib
urllib2
模块下载图像。

代码将
BeautifulSoup.Tag
对象传递到
Image.open
,但
Image.open
需要路径或文件对象。您可以使用
image[“src”]
获取图像的相对路径,因此代码为:

im = Image.open(image["src"])
但是,该路径与HTML文件中写入的路径相同,可能是从HTML文件目录开始的相对路径。如果是这样,将
root
连接到
image[“src”]
将获得每个图像的绝对路径:

im = Image.open(os.path.join(root, image["src"]))

代码正在将
BeautifulSoup.Tag
对象传递给
Image.open
,但
Image.open
需要路径或文件对象。您可以使用
image[“src”]
获取图像的相对路径,因此代码为:

im = Image.open(image["src"])
但是,该路径与HTML文件中写入的路径相同,可能是从HTML文件目录开始的相对路径。如果是这样,将
root
连接到
image[“src”]
将获得每个图像的绝对路径:

im = Image.open(os.path.join(root, image["src"]))

请包括到那时为止的全部输出,包括
打印“图像:%s”%Image
位的输出。我已经添加了它;只有一次打印失败。请包括到目前为止的整个输出,包括
print”图像:%s“%Image
位的输出。我已经添加了它;只有一个打印文件在它损坏之前。html文件在我硬盘上的一个目录中,而不是直接从internet。那么可能它无法处理文件URI,请尝试先将链接转换为本地路径:什么是文件URI,我需要转换什么链接?html文件在我硬盘上的一个目录中,不是直接从互联网上。那么可能它无法处理文件URI,请尝试先将链接转换为本地路径:什么是文件URI,我需要转换哪些链接?