使用Python从站点获取实时日期(例如天气预报)

使用Python从站点获取实时日期(例如天气预报),python,websocket,python-requests,Python,Websocket,Python Requests,例如,我们有一个值每20毫秒更改一次的站点 天气预报网站。我想用python获取真实数据并实时保存在redis上 若我在python中使用请求库,实际上我的程序应该向服务器发送一个https请求并得到响应,那个么操作可能会延迟超过100毫秒,并且我无法获得实时更改值 所以我不知道哪个库对我有用?要从网站中提取数据而不向服务器发送HTTP请求以重新加载整个网页,请改用Selenium Web驱动程序 通常,web上有两种类型的网站: 静态网站-显示从后端获取的网页,不在前端更新的网站 动态网站-

例如,我们有一个值每20毫秒更改一次的站点 天气预报网站。我想用python获取真实数据并实时保存在redis上

若我在python中使用请求库,实际上我的程序应该向服务器发送一个https请求并得到响应,那个么操作可能会延迟超过100毫秒,并且我无法获得实时更改值


所以我不知道哪个库对我有用?

要从网站中提取数据而不向服务器发送HTTP请求以重新加载整个网页,请改用Selenium Web驱动程序

通常,web上有两种类型的网站:

  • 静态网站-显示从后端获取的网页,不在前端更新的网站

  • 动态网站-使用前端(如React/Angular/Vue)开发的网站,并使用API从后端获取更新,无需重新加载整个网页

  • 为了抓取静态网站,建议使用Requests包,因为它会发送HTTP/HTTPS请求来重新加载整个网页。因为在您的情况下,网页是动态的,所以您应该使用Selenium。在Selenium代码中,您应该首先传递目标网站,然后编写一个循环,每隔几毫秒触发一个函数获取内容。 提示:使用无头Selenium可防止浏览器窗口打开


    PS:对于很多网站来说,抓取是不合法的,因为你是通过编程方式访问他们的内容的。这些网站有自己的API,付费为您提供所需内容。因此,你要自担风险。

    这个问题毫无意义。如果你想连接到证券交易所,他们会告诉你怎么做。证券交易所不仅仅在其网站上发布实时数据。他们为这一特权收取大量费用,使用像FIX这样的专用格式,并且在允许任何人连接到他们的系统之前需要进行广泛的测试。因为糟糕的编码会给他们的服务器增加负载,延迟他们和其他人的事务处理。事实上,如果你还不知道怎么做,你甚至不被允许与他们交谈。您可以从另一个提供商处获得访问权限(延迟一段时间),这将再次收取大量费用,告诉您如何连接和保护连接,并指导您完成测试和认证过程。