事实上,在这种情况下事情并不那么复杂。当您单击“全部”时,不会发出网络请求。所有数据已经存在 - 在HTML中的script
标记内,您只需要提取它。
使用requests
(下载网页内容),BeautifulSoup
(解析HTML和定位所需script
元件),re
(提取从脚本期望的“播放器”阵列)和json
(加载阵列工作码字符串转换成Python列表):
import json
import re
import requests
from bs4 import BeautifulSoup
url = "https://rotogrinders.com/game-stats/nhl-skater?site=draftkings&date=11-22-2016"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
pattern = re.compile(r"var data = (\[.*?\]);$", re.MULTILINE | re.DOTALL)
script = soup.find("script", text=pattern)
data = pattern.search(script.text).group(1)
data = json.loads(data)
# printing player names for demonstration purposes
for player in data:
print(player["player"])
版画: “也许某些库,将允许按钮点击”
Jeff Skinner
Jordan Staal
...
William Carrier
A.J. Greer
硒。 –
到目前为止,你做了什么,如果你显示一些代码或试图做任务的人更愿意帮助。 – Dalvenjia