试图与Python一起阅读War Thunder Local Host的数据



基本上我正在使用Python将序列数据发送到Arduino,以便我可以使用游戏中的数据进行移动拨号。这会起作用,因为您可以使用URL" localhost:8111"在Ingame时为您提供这些统计数据的列表。问题是我正在使用Urllib和Beautifulsoup,但它们似乎盲目地阅读了不提供我需要数据的源代码。

当我检查该页面的元素时,我需要的数据会出现。其他页面似乎暗示,使用某些东西在Python中运行HTML可以解决此问题,但我找不到这样做的方法。这里的任何帮助将非常感谢。

不是海报,但我一直在和他一起工作。我们设法使它起作用。如果其他人遇到这个问题,这里的代码使它显示我们的速度

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://localhost:8111")
time.sleep(1)
while True:
    elements = driver.find_element_by_id("stt-IAS, km/h")
    print(elements.text)

不知道为什么需要时间。

您的问题可能是页面元素是 dynamic 。(例如JavaScript揭示(为什么这是个问题?答:您无法访问这些标签或数据。您必须使用无头/自动浏览器(了解有关硒的更多信息(。

然后通过硒进行会话,并按照您想要的方式向Arduino喂食数据。

摘要:如果您检查元素您可以看到标签,如果您转到查看源您看不到它。不能使用 bs4 单独请求来解决这。您必须使用称为硒或类似的模块。

这是一个python模块,您可以使用该模块从War Thunder Thunder Localhost服务器页面"指示器"one_answers"状态"中获取所有空中车辆遥测数据。这些页面中每个页面的内容是车辆当前遥测值的静态JSON描述。

Python软件包使用请求模块查询Local -Host服务器中的数据,将返回的JSON数据转换为字典,然后将所有数据合并到一个单数遥测词典中。然后可以将这些数据用于其他Python进程,例如数据分析或图形。

最新更新