如何获得一个网站的数据,如INSPECT元素所示,而不是视图页面源?

2024-06-30 08:56:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我想得到一个网站的检查元素数据。比如说真主叫。这样我就可以知道我搜索的手机号码的人的名字了。 但是每当我编写python脚本时,它会给我一个不包含所需信息的页面源代码。在

请帮帮我。我是个初学者,请原谅我在这个问题上有任何错误。在


Tags: 数据脚本信息元素源代码网站错误页面
3条回答

TL;DR:使用Selenium(和PhantomJS

viewpage源代码将提供当您请求页面时加载的html(这很可能是从python发出请求时得到的)。在

由于现在很多页面在加载初始html之后加载内容并修改DOM,因此仅仅通过查看初始响应将无法获得所需的大部分信息。 要获得inspect元素信息,您需要某种web浏览器才能真正进入页面,等待要加载的信息,然后使用它。但是,您仍然希望在python脚本中执行此操作。在

输入selenium,这是一个浏览器自动化工具(主要用于测试网页)。您可以创建一个python脚本来打开一个浏览器页面并执行您为它编写的任何代码(甚至等待一段时间并搜索加载后的DOM元素!)。你的脚本仍然会打开一个浏览器(我猜这有点奇怪)。在

输入PhantomJS,另一个库,您可以使用它来拥有一个无头浏览器来完成所有的web测试,而不必依赖于实际的浏览器UI。在

只使用selenium可能会实现您的目标,但是使用phantomjs,您可以以更干净的方式实现这一目标!祝你好运。在

检查元素和视图页源不相同。在

查看源代码显示页面的原始HTML源代码。当您从浏览器中查看源代码时,您将获得服务器交付的HTML,而不是javascript完成它的工作之后。在

检查器显示浏览器解释的DOM。例如,这包括在HTML源代码中看不到的javascript所做的更改。在

在元素检查器中看到的不再是源代码。 您可以看到一个javascript操作的版本。在

不要试图自己执行所有可能导致跨源安全等多个问题的脚本

在“网络”选项卡中搜索实际搜索请求及其参数。 然后从那里请求数据,这就是诀窍。

而且,似乎你需要登录来搜索你提供的url,所以你需要最终适应cookie/session/header和其他东西,就像来自浏览器的请求一样。在

所以我想说的是,如果你要找的数据不在数据源中,就要更好地分析它是从哪里来的

相关问题 更多 >