所以我想从这里提取数字45.5:https://www.myscore.com.ua/match/I9pSZU2I/#odds-comparison;over-under;1st-qrt
但是当我尝试查找表时,我什么也没得到。这是我的代码:
import requests
from bs4 import BeautifulSoup
url = 'https://www.myscore.com.ua/match/I9pSZU2I/#odds-comparison;over-under;1st-qrt'
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/65.0.3325.181 Chrome/65.0.3325.181 Safari/537.36'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
text = soup.find_all('table', class_ = 'odds sortable')
print(text)
有人可以帮助我提取数字并将其值存储到变量中吗?
答案 0 :(得分:0)
您可以尝试通过不创建Selenium来执行此操作,方法是重新创建加载表的动态请求。
在页面的网络选项卡中,我看到了这个XMLHTTPRequest:https://d.myscore.com.ua/x/feed/d_od_I9pSZU2I_ru_1_eu
尝试重现与请求相同的参数。
访问“网络”选项卡:单击右键->检查元素->“网络”选项卡->选择XHR并找到第二个请求。
最终代码如下:
headers = {'x-fsign' : 'SW9D1eZo'}
page =
requests.get('https://d.myscore.com.ua/x/feed/d_od_I9pSZU2I_ru_1_eu',
headers=headers)
您应根据浏览器/ ip检查x = fisgn值是否不同。