使用 Python 从站点获取实时日期(例如天气预报)[关闭]
Posted
技术标签:
【中文标题】使用 Python 从站点获取实时日期(例如天气预报)[关闭]【英文标题】:Get Real Time Date From a Site(ex. Weather Prediction ) With Python [closed] 【发布时间】:2020-12-01 07:34:50 【问题描述】:例如,我们有一个值每 20 毫秒更改一次的站点 天气预报网站。我想用python实时获取真实数据并保存在redis上。
如果我在 python 中使用请求库,实际上我的程序应该向服务器发送 https 请求并获得响应,该操作可能延迟超过 100 毫秒,并且我无法获得实时更改值。
所以我不知道哪个库对我有用?
【问题讨论】:
这个问题毫无意义。如果您想连接到证券交易所,他们会告诉您如何操作。证券交易所不仅仅将实时数据放在其网站上。他们收取大量金钱来获得该特权,使用诸如 FIX 之类的专门格式来执行此操作,并且在允许任何人连接到他们的系统之前需要进行大量测试。因为糟糕的编码会给他们的服务器带来负担并延迟他们的和其他人的事务处理 事实上,如果你还不知道怎么做,你甚至不能和他们说话。您可能能够从另一家提供商那里获得访问权限(有时间延迟),这同样会收取大量费用,告诉您如何连接和保护连接,并指导您完成测试和认证过程。跨度> 【参考方案1】:对于从网站提取数据而不向服务器发送 HTTP 请求以重新加载整个网页的方法是使用 Selenium Web 驱动程序。
通常,网络上有两种类型的网站:
静态网站 - 显示从后端获取的网页,并且不在前端更新的网站
动态网站 - 使用 React/Angular/Vue 等前端开发并使用 API 从后端获取更新而无需重新加载整个网页的网站。
要抓取静态网站,建议使用 Requests 包,因为它会发送 HTTP/HTTPS 请求来重新加载整个网页。由于在您的情况下,网页是动态的,因此您应该使用 Selenium。在 Selenium 代码中,您应该首先传递要定位的网站,然后您可以编写一个循环,该循环每隔几毫秒触发一个函数来获取内容。 提示:使用 Selenium with headless 来防止浏览器窗口打开。
PS:对于很多网站来说,抓取是不合法的,因为您是以编程方式访问它们的内容。这些网站有自己的 API,这些 API 是为向您提供所需内容而付费的。因此,请自担风险。
【讨论】:
以上是关于使用 Python 从站点获取实时日期(例如天气预报)[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Arduino ESP8266获取心知天气平台的实时天气数据
python + docker, 实现天气数据 从FTP获取以及持久化-- python操作MySQL数据库