我正在尝试从网站上删除此网站:https://www.footballindex.co.uk/top-200
更具体地说,我想知道每个玩家的名字,买入价,卖出价
这是我用来获取web html的代码:
import requests
from bs4 import BeautifulSoup
URL = "https://www.footballindex.co.uk/top-200"
page = requests.get(URL)
Soup = BeautifulSoup(page.text, "html.parser")
print(Soup)
当我打印出html时,我要查找的信息不会出现在相关变量下,如inspect元素中。它由一行代码组成,如下所示。(我已经把它剪掉了,但它对页面上的每个玩家都是这样做的)
window.__PRELOADED_STATE__ = {"tradingReducer":{"adjustedPrice":0,"isLoading":false},"playersReducer":{"players":[{"id":"phil-foden","name":"Phil Foden","rank":14,"country":"England","nationalTeam":null,"sector":"Midfielder","nationality":"England","team":"Manchester City","optimized_image":"phil-foden-g-t4.jpg","buyPrice":5.93,"sellPrice":5.87,"penceChange":0.12,"changePercent":2.05},{"id":"bruno-fernandes","name":"Bruno Fernandes",
我也尝试过使用Selenium,但它只是在同一个地方给了我数据。从我读过的其他帖子和信息中,我发现这听起来像是因为该网站使用Java来加载玩家的价格。在页面上,他们每隔几秒钟就会不断更新
代码似乎是JSON格式的。但是我完全被难住了,我如何将信息提取到python中,以便捕获每个玩家及其相关的购买价格。 我尝试过使用find和find_all函数,但每次它似乎都无法提取任何数据
有人知道我需要使用什么代码来正确地从html中提取我想要的变量吗
我的解决方法可能不是最好的,就是使用selenium来确保javascript加载所有数据,然后将此HTML传递给beautifulsoup来解析并使用正则表达式来匹配所需的数据
time.sleep
用于确保加载Java中的所有数据。您可以尝试使用它,并根据需要降低它以加快脚本速度这将获得包含所有数据的页面主Div。现在,您可以使用REGEX查找所需的数据
这是一个带有所有买入价格的正则表达式列表的结果
我重新推荐https://pythex.org/,在这里您可以测试您的正则表达式,而不必每次都运行脚本
相关问题 更多 >
编程相关推荐