我正在使用相同的代码来提取这个联盟的匹配结果,它可以在所有页面上运行,除了这个组3(下面的两个示例链接).
该代码查找所有包含soup.find_all("table", class_="table-sm")
的表,并根据从表4开始的页面上的匹配数量返回可变数量的表,我用它来获取结果.
当相同的代码应用于组3时,它只返回2:第二个代码包含页面头部以下的所有内容.
import requests
from bs4 import BeautifulSoup
url_gr_2 = 'https://rfetm.es/resultados/2022-2023/view.php?liga=Mg==&grupo=2&subgrupo=S&jornada=1&sexo=M'
url_gr_3 = 'https://rfetm.es/resultados/2022-2023/view.php?liga=Mg==&grupo=3&subgrupo=S&jornada=1&sexo=M'
req = requests.get(url_gr_2)
soup = BeautifulSoup(req, features="lxml")
data = soup.find_all("table", class_="table-sm")
print(len(data))
# returns 9
req = requests.get(url_gr_3)
soup = BeautifulSoup(req, features="lxml")
data = soup.find_all("table", class_="table-sm")
print(len(data))
# returns 2
我使用Chrome Select 器扩展和控制台来测试Group 3的页面 struct ,它在页面上返回8个元素,但不是在BS4中.
在Group 3的情况下,我还试图迭代data[1]
的HTML元素,但BS4不返回任何元素.
我试着比较了两个页面的HTML值,但没有发现任何有意义的差异.
我所期望的是能够提取出这个联赛的结果,就像我在这个页面上对所有其他联赛所做的那样.