gpt4 book ai didi

python - 等待 Python 数据抓取结果加载

转载 作者:行者123 更新时间:2023-12-01 09:23:51 25 4
gpt4 key购买 nike

我正在编写一个数据扫描器,但我不知道如何让 Python 等待我加载的请求。

我正在从此链接中提取表格:http://www.ans.gov.br/perfil-do-setor/dados-e-indicadores-do-setor/sala-de-situacao

Go to Caderno 2.0 Select the first value at the droplist Run anything

这里最大的问题是:当我在网站上运行查询时,网站需要一段时间才能获得输出,所以我需要弄清楚如何让Python进入待机状态直到结果出来(见下图)

Image execution message

有人可以帮我吗?请。

非常感谢!

最佳答案

网站加载时间较长的原因是它使用了一些繁重的 Javascript 来呈现页面。

您可以使用Splash ,用于呈现基于 Javascript 的页面。您可以在 Docker 中运行 Splash非常简单,只需向 Splash 容器发出 HTTP 请求,该容器将返回看起来就像在 Web 浏览器中呈现的网页一样的 HTML。

虽然这听起来过于复杂,但实际上设置起来非常简单,因为您根本不需要修改 Docker 镜像,并且不需要任何 Docker 知识即可使其工作。只需一行即可启动本地 Splash 服务器:
docker run -p 8050:8050 -p 5023:5023 scrapinghub/splash

默认超时为 30 秒,但如果您需要等待更长时间才能呈现页面,您可以指定不同的超时作为参数。例如,对于 300 秒的超时:
docker run -it -p 8050:8050 scrapinghub/splash --max-timeout 300

然后,您只需修改 Python 代码中的任何现有请求即可路由到splash:

http://example.com/变成
http://localhost:8050/render.html?url=http://example.com/

<小时/>

或者,您可以像上面评论的另一位用户一样使用 Selenium,但我个人使用 Splash 更容易。

关于python - 等待 Python 数据抓取结果加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50610089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com