是否可以通过python http请求获取呈现页面的大小?
我不确定我的措辞是否正确,但是“渲染页面”的意思是浏览器必须加载的大小(包括图像,css等)。不是html代码的长度。
作为第二优先事项,了解呼叫数量以及是否将页面压缩后也将很有帮助,因为这可能会影响有关页面的大小调整结果。
非常感谢您的帮助!
答案 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