Python:获取呈现的网页的大小

时间:2018-07-29 15:10:57

标签: python http

是否可以通过python http请求获取呈现页面的大小?

我不确定我的措辞是否正确,但是“渲染页面”的意思是浏览器必须加载的大小(包括图像,css等)。不是html代码的长度。

作为第二优先事项,了解呼叫数量以及是否将页面压缩后也将很有帮助,因为这可能会影响有关页面的大小调整结果。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我编写了一个Python脚本,该脚本使用Selenium和无头的Chrome远程WebDriver来完成此操作:

https://github.com/jorgeorpinel/site-page-size-scrapper(随时可以克隆或分叉!)

诀窍是启用性能日志记录,获取和解析网络日志以计算网页的完整大小。像这样:

from selenium import webdriver 

options = webdriver.ChromeOptions()
options.add_argument('headless')
capbs = webdriver.DesiredCapabilities.CHROME.copy()
capbs.update({'loggingPrefs': {'performance': 'ALL'}, 'detach': False})
driver = webdriver.Remote("http://127.0.0.1:9515", capbs, options=options)
# ^ Requires chromedriver (server) running locally (on default port).

driver.get('https://www.baidu.com/')
logs = driver.execute('getLog', {'type': 'performance'})['value']
# Now analyze the Network logs as you prefer.

请参见https://chromedevtools.github.io/devtools-protocol/tot/Network