作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个方法旨在从一些 html 中获取所有 img 元素并添加 css 样式以确保在图像较大时调整其大小。在最终测试之前它一直很好用:largest_size < img_size - 我已经尝试了各种不同的方式来表达这个简单的东西,但它总是评估为真 - 这意味着所有图像都会调整大小而不管它们的原始大小。
代码:
def adjust_html(self, html_text):
# pull image links and adjust those larger than 30k
# to be width=100%
html = etree.HTML(html_text)
r = html.xpath('.//img')
changed_text = False
for elem in r:
for tag, value in elem.attrib.iteritems():
if tag == 'src':
largest_size = 30720
img_size = 0
img_url = value
if self.bad_urls.has_key(img_url):
break
try:
usock = urllib2.urlopen(img_url)
img_size = usock.info().get('Content-Length')
except:
self.log.debug("***** 406 for " + img_url)
self.bad_urls[img_url] = True
break
if img_size is None:
break
else:
**if (largest_size < img_size):**
self.log.debug("*** " + img_url + " ***")
self.log.debug("********** img size = " + str(img_size) + " **********")
elem.set("style","width:100%")
changed_text = True
break
if changed_text == True:
html_text = etree.tostring(html)
return html_text
我知道这里一定有什么简单的错误 - 我只是没看到 :)
最佳答案
int
总是小于 str
。首先将 header 值转换为 int
。请记住,使用 repr()
进行调试,而不是 str()
。
关于Python bool 表达式始终为真(当它不应该为真时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6302880/
我是一名优秀的程序员,十分优秀!