使用Python请求模块通过HTTP跟踪下载资源的跟踪
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python请求模块通过HTTP跟踪下载资源的跟踪相关的知识,希望对你有一定的参考价值。
我在访问en.wikipedia.org/wiki/Hello的同时保持打开Chrome控制台:在网络选项卡中我可以检查HTTP请求的内容:第一个要调用的是:
GET https://en.wikipedia.org/wiki/Hello -> 200
然后,处理了许多其他HTTP请求:维基百科徽标.png,一些CSS,脚本和其他文件被下载到我的浏览器,它们一起呈现维基百科的实际页面。
有了requests
,我想做同样的事情:简单
requests.get("https://en.wikipedia.org/wiki/Hello")
将返回Hello页面的HTML文档,但不会下载其他资源。
我想跟踪为打开页面而打开的连接数以及下载的元素;上面的GET请求不会返回图像,CSS或脚本。
我想我错过了一些重要的事情:谁知道完全加载网页所需的所有必要资源是什么?
我问这个是因为我想(与requests
)知道下载了哪些资源以及获取它们需要多少连接。
我认为服务器是知道页面需要加载的人,所以服务器应该将这些信息告诉客户端,但我遗漏了哪里:我没有在HTTP请求头中找到任何内容。
我需要这个列表/字典/ JSON /完全呈现页面所需的任何资源,所以我可以用Python手动完成。
高五我自己XD
在第一个下载的资源中(列出)其他所需资源:HTML文档。我要解析它(BeautifulSoup4
)并得到我需要的东西(<link rel=... href=... />
),这应该能够获得页面所需的下载和资源数量。
至于连接数,我读到了HTTP keep-alive:所以如果使用单个TCP连接来下载资源,我不必担心打开了多少连接,因为HTTP 1.1连接默认保持活动状态。我应该检查它是否使用HTTP 1.0,如果是这样,请查找Connection: keep-alive
标头。
以上是关于使用Python请求模块通过HTTP跟踪下载资源的跟踪的主要内容,如果未能解决你的问题,请参考以下文章
使用请求(不是 GET)在 Python 中通过 Post HTTP Request 下载 PDF
python - 怎样使用 requests 模块发送http请求
在 python 中对 torrent 跟踪器的 HTTP 请求
Python爬虫 urllib -- urllib 下载资源urllib 请求对象的定制(URL完整组成介绍HTTP协议和HTTPS的区别请求对象的定制)