2016-04-03 29 views
0

我正在使用BeautifulSoup'lxml'解析器)与urllib.request.urlopen()以从网站获取文本信息。但是,当我在Acitivity Monitor中检查网络部分时,我看到python下载了大量数据。这表明不仅文本被下载,而且图像也被下载。避免使用Beautifulsoup和urllib.request下载图像

当使用BeautifulSoup进行网页浏览时,是否可以避免下载图像?

+2

?你能看到原始图像字节码写在你的回复中吗?否则,我不知道为什么你会下载图像。图像通常分别存储在带'src'属性的''中 - HTML刮板将包含指向图像的文本链接,但实际上并未强制下载图像,因为您从未告诉它要跟随链接。 –

+0

我怀疑这个页面的数据比你想象的要多。 Inline JS可以打出一拳。 –

+0

我检查了'汤'结果并将其保存到文本文件。你是对的,它是256 kB,并有''属性链接到实际的图像。感谢您的帮助Akshat! – Frits

回答

0

这是不可能的,因为图像不在他们在<img src="/here/goes/this/img"..的页面上。浏览器或urllib必须多次访问JS,img,CSS等静态文件。缩小尺寸的一个可能的解决方案是对压缩内容的请求。

"Accept-Encoding":"gzip"标题添加到Request对象。如果服务器支持它,则尺寸减小会很好。您将然后gzip.decompress()它获取字符串数据。