Python 如何从目录中的html文件中提取图像?
以下是这个问题的后续内容: 基本上,我有一个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:\
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,我需要转换哪些链接?