我在刮账单的时候什么也得不到

2024-09-28 23:21:20 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想从这里提取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)

有人能帮我提取这个数并把它的值存储到一个变量里吗?你知道吗


Tags: httpsimportcomwwwmatchrequestscomparisonover
1条回答
网友
1楼 · 发布于 2024-09-28 23:21:20

您可以尝试在没有Selenium的情况下通过重新创建加载表的动态请求来实现这一点。你知道吗

在页面的network选项卡中,我看到了这个XMLHTTPRequest:https://d.myscore.com.ua/x/feed/d_od_I9pSZU2I_ru_1_eu

尝试重现与请求相同的参数。你知道吗

要访问“网络”选项卡:单击右键->;检查元素->;网络选项卡->;选择XHR并查找第二个请求。你知道吗

enter image description here

最后的代码如下:

headers = {'x-fsign' : 'SW9D1eZo'}

page = 
requests.get('https://d.myscore.com.ua/x/feed/d_od_I9pSZU2I_ru_1_eu', 
headers=headers)

您应该根据浏览器/ip检查x=F值是否不同。你知道吗

相关问题 更多 >