美丽的汤:从HTML获取图片大小

时间:2016-04-20 20:37:16

标签: python image beautifulsoup

我想用Bueatiful Soup提取图片的宽度和高度。所有图片都具有相同的代码格式:

<img src="http://somelink.com/somepic.jpg" width="200" height="100">

我可以使用

轻松提取链接
for pic in soup.find_all('img'):
    print (pic['src'])

但是

for pic in soup.find_all('img'):
    print (pic['width'])

不适用于提取尺寸。我错过了什么?

修改 页面中的一张图片在html代码中没有宽度和高度。在最初的帖子时没有注意到这一点。所以任何解决方案都必须考虑到这一点

3 个答案:

答案 0 :(得分:2)

类似字典的属性访问也适用于widthheight,如果已指定的话。您可能会遇到没有明确设置这些属性的图像 - 在这种情况下,您当前的代码会抛出KeyError。您可以使用get()并提供默认值:

for pic in soup.find_all('img'):
    print(pic.get('width', 'n/a'))

或者,您只能找到指定了imgwidth的{​​{1}}元素:

height

答案 1 :(得分:1)

它的工作方式略有不同,以获得其他属性

for pic in soup.find_all('img'):
    print(pic.get('width'))

答案 2 :(得分:1)

试试这个:

@SpringBootApplication
@ComponentScan(basePackages = { "com.dell.customtools.api.security", "com.dell.customtools.api.controller"})
public class Application {`

你可以使用attrs方法,它返回一个字典,键作为标签的属性,值作为标签值。

相关问题