我访问 en.wikipedia.org/wiki/Hello ,同时保持打开Chrome控制台:在网络标签中,我可以检查HTTP请求的内容:第一个是叫做:
GET https://en.wikipedia.org/wiki/Hello -> 200
然后,处理了许多其他HTTP请求:维基百科徽标 .png ,一些CSS,脚本和其他文件被下载到我的浏览器,它们一起呈现维基百科的实际页面。 / p>
使用requests
,我想做同样的事情:一个简单的
requests.get("https://en.wikipedia.org/wiki/Hello")
将返回Hello页面的HTML文档,但不会下载其他资源。
我想跟踪为打开页面而打开的连接数以及下载的元素;上面的GET请求不会返回图像,CSS或脚本。
我认为我遗漏了一些重要内容:谁知道完全加载网页所需的所有必要资源是什么?
我问这个是因为我希望(requests
)知道下载了哪些资源以及获取它们需要多少连接。
我认为服务器是知道页面需要加载的人,所以服务器应该将这些信息告诉客户端,但我遗漏了哪里:我没有在HTTP请求头中找到任何内容。
我需要这个列表/字典/ JSON /完全呈现页面所需的任何资源,所以我可以用Python手动完成它。
答案 0 :(得分:0)
高五我自己XD
第一个下载资源中列出了其他所需资源:HTML文档。
我要解析它(BeautifulSoup4
)并获得我需要的内容(<link rel=... href=... />
),这应该可以获得页面所需的下载和资源数量。
关于连接数,我读到了HTTP keep-alive:所以如果使用单个TCP连接下载资源,我不必担心自HTTP 1.1连接以来打开了多少个连接默认情况下保持活着状态。我应该检查它是否使用HTTP 1.0,如果是这样,请查找Connection: keep-alive
标题。