Python-pilsave&;使用alt描述从HTML文件重命名图像
我正在尝试基于此线程保存html文件中的图像Python-pilsave&;使用alt描述从HTML文件重命名图像,python,image,save,python-imaging-library,Python,Image,Save,Python Imaging Library,我正在尝试基于此线程保存html文件中的图像 导入操作系统,操作系统路径 从PIL导入图像 从bs4导入BeautifulSoup作为bs 路径='c:/Users/Desktop/html/' 对于os.walk(路径)中的根、目录和文件: 对于文件中的f: soup=bs(open(os.path.join(root,f)),'lxml') 对于汤中的图像。查找所有(“img”): image=image.get('src') alt=image.get('alt') im=Image.o
导入操作系统,操作系统路径
从PIL导入图像
从bs4导入BeautifulSoup作为bs
路径='c:/Users/Desktop/html/'
对于os.walk(路径)中的根、目录和文件:
对于文件中的f:
soup=bs(open(os.path.join(root,f)),'lxml')
对于汤中的图像。查找所有(“img”):
image=image.get('src')
alt=image.get('alt')
im=Image.open(os.path.join(root,Image))
保存(路径+图像+alt,“png”)
打印(os.path.join(根目录,图像))
html文件的内容
映像的完整文件路径为
c:/Users/Desktop/html/images/1.jpg
之后
c:/Users/Desktop/html/images/Image1Name.png
我已经看过这些线索:
错误
soup=bs(open(os.path.join(root,f)),'lxml')
文件“C:\Python\Python36-32\lib\site packages\bs4\uuuuu init\uuuuuu.py”,第191行,位于init
markup=markup.read()
文件“C:\Python\Python36-32\lib\encodings\cp1252.py”,第23行,解码
返回编解码器.charmap\u解码(输入、自身错误、解码表)[0]
UnicodeDecodeError:“charmap”编解码器无法解码位置77:字符映射到的字节0x81
如何使用alt描述正确保存和重命名html文件中的图像?我没有遇到您的编码问题,因此我无法帮助您 不过为了帮点忙,我将im.save(path+image+alt,“png”)更改为im.save(os.path.join(path,os.path.dirname(image),alt+'.png'))
- 用os.path.join替换+符号只是为了提高通用性 处理
- 将映像替换为os.path.dirname(映像)是因为 不要“images/1.jpg”,你要的是“images”
- 正在将“.png”添加到alt 因为您可能更希望将文件命名为“Image1Name.png” 而不是“Image1Name”。之后,“png”的第二个参数不是 需要
for image in soup.find_all("img"):
image = image.get('src')
alt = image.get('alt')
他有个问题。“image=image.get('src')”将“image”更改为字符串,这意味着“image.get('alt')”将出现错误。我会推荐你-
for img in soup.find_all("img"):
image = img.get('src')
alt = img.get('alt')
非常感谢您的建议-虽然我仍然收到错误消息,但我不介意。它会重命名这些图像-再次感谢您!:)
for img in soup.find_all("img"):
image = img.get('src')
alt = img.get('alt')