微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

列出带有请求python的网页加载的所有媒体和文档文件

如何解决列出带有请求python的网页加载的所有媒体和文档文件

我正在寻找一种使用请求模块列出所有已加载文件方法。 就像chrome的“检查器网络”标签中的内容一样,您可以看到网页已加载的各种文件

enter image description here

问题是我要提取文件在这种情况下为.pdf文件)没有特定的标签,我猜想网页是通过javascript和AJAX加载的,因为即使在页面完全加载后,我也无法找不到指向.pdf文件或类似文件链接标签,因此每次我都应该转到“网络”选项卡并重新加载页面,然后在已加载的资源列表中找到该文件。 有什么方法可以捕获所有已加载的文件并使用“请求”模块列出它们?

解决方法

当浏览器加载HTML文件时,它会解释该文件的内容。它可能会发现存在一个引用外部JavaScript URL的标签。然后,浏览器将发出GET请求以检索该文件。收到所述文件后,它将通过执行其中的代码来解释JavaScript文件。该代码可能包含AJAX代码,而该代码又会提取更多文件。或者HTML文件可以引用带有标签的外部CSS文件或带有标签的图像文件。这些文件也将由浏览器加载,并且在您运行浏览器的检查器时可以看到。

相反,当您使用requests模块对特定URL进行get请求时,仅获取该页面。没有逻辑来解释返回页面的内容并获取页面中引用的图像,样式表,JavaScript文件等。

但是,您可以使用Python通过Selenium WebDriver之类的工具来自动化浏览器,该工具可用于完全下载页面。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。