在python中,如何检查网页的完整大小,包括图像和其他嵌入元素?

在python中,如何检查网页的完整大小,包括图像和其他嵌入元素?,python,bash,curl,web-crawler,wget,Python,Bash,Curl,Web Crawler,Wget,我试图在我的网络中找到完整下载大小太大的页面,比如说,大于10-20MB的页面 我已经知道如何爬行,我需要的东西,将找出每一个网页的浏览器将下载的东西的大小,最好没有实际下载它,但这个条件是次要的 最好使用python,但如果不是至少我可以在bash脚本中使用的东西(例如curl或wget)。我将从python内部调用该bash脚本 至于更多的上下文,在python中,现在我使用requests和Beauty soup来爬网和检查所有网页的状态响应。您可以尝试以下方法: curl --head

我试图在我的网络中找到完整下载大小太大的页面,比如说,大于10-20MB的页面

我已经知道如何爬行,我需要的东西,将找出每一个网页的浏览器将下载的东西的大小,最好没有实际下载它,但这个条件是次要的

最好使用python,但如果不是至少我可以在bash脚本中使用的东西(例如curl或wget)。我将从python内部调用该bash脚本

至于更多的上下文,在python中,现在我使用requests和Beauty soup来爬网和检查所有网页的状态响应。

您可以尝试以下方法:

curl --head https://www.instagram.com
它将给出以下结果:

HTTP/1.1 200 OK
Content-Type: text/html
X-Frame-Options: SAMEORIGIN
Cache-Control: private, no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: Sat, 01 Jan 2000 00:00:00 GMT
Vary: Cookie, Accept-Language, Accept-Encoding
Content-Language: en
Date: Mon, 23 Jul 2018 17:05:14 GMT
Strict-Transport-Security: max-age=60
Set-Cookie: sessionid=""; Domain=.instagram.com; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
Set-Cookie: sessionid=""; Domain=.instagram.com; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
Set-Cookie: sessionid=""; Domain=.instagram.com; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
Set-Cookie: sessionid=""; Domain=.instagram.com; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
Set-Cookie: sessionid=""; Domain=.instagram.com; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
Set-Cookie: sessionid=""; Domain=.instagram.com; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
Set-Cookie: sessionid=""; Domain=.instagram.com; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
Set-Cookie: rur=FTW; Domain=.instagram.com; Path=/
Set-Cookie: csrftoken=Y0WEjvNDGdQXAU7YQoUNsVjSodMT6cOZ; Domain=.instagram.com; expires=Mon, 22-Jul-2019 17:05:14 GMT; Max-Age=31449600; Path=/; Secure
Set-Cookie: mid=W1YKygAEAAGowaTCPQjEP25_NhqF; Domain=.instagram.com; expires=Sun, 18-Jul-2038 17:05:14 GMT; Max-Age=630720000; Path=/
Set-Cookie: mcd=3; Domain=.instagram.com; Path=/
Connection: keep-alive
Content-Length: 21754

最后一行中的内容长度是必需的信息。

对于
wget
,您可以使用
--delete after
,以便在完成后删除文件。但是您确实需要下载文件(至少是html),这样它就可以跟踪链接并下载整个页面,而不仅仅是html文件。避免使用
-r
选项,它也会跟随链接!我看到一些页面的回复中没有“内容长度”。是不是因为页面太过动态,服务器本身无法了解?示例:当它包含更多链接时会发生这种情况,例如,您共享的页面上没有更多的链接,其中一个是现在的链接,如果您做一个卷曲,那么您将获得完整的内容lenght@fullmooninu我想你也可以尝试一个
wget--spyder
你以前的链接,我想它会下载一些文件,但好的方面是,它可以自己获得重文件的链接以及它们的大小,而无需下载它们,但我必须警告您,输出到处都是,从python scriplt中很难处理