不是解析所有标记

2024-09-27 19:27:06 发布

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

我已经附上了一个截图的HTML的网站,我试图刮,有一个表,其中我想得到一些数据的行是在身体(他们显然存在),但是,它不工作,所以我决定打印tbody,这表明解析发现了表和tbody,但没有行内。我不知道如何解决这个问题。如能提供任何帮助,将不胜感激。HTML from wesbite

Output when printing body

这是我的代码的开头:

url = "https://superfpl.com/player_stats"

results = requests.get(url)

soup = BeautifulSoup(results.text, "html.parser")

players = []

teams = []

positions = []

ownerships = []

print(soup.find("tbody"))

player_div = soup.find_all('tr', role_="row",  class_="odd")

Tags: 数据fromurloutput网站htmlfindresults
1条回答
网友
1楼 · 发布于 2024-09-27 19:27:06

数据通过JavaScript动态加载。但是您可以使用requests模块模拟它:

import requests

url = 'https://superfpl.com/ajax/player_stats'
data = requests.get(url).json()

# uncomment this to see all data (WARNING, huge list!):
# import json
# print(json.dumps(data, indent=4))

# pretty print some data to screen:
for row in data['data']:
    print('{:<20}{:<20}{:<20}'.format(row['web_name'], row['position'], row['points_per_game']))

印刷品:

Connolly            FWD                 2.4                 
Cresswell           DEF                 2.7                 
Lennon              MID                 0.9                 
Mooy                MID                 2.9                 
Ramsdale            GKP                 3.4                 
Wan-Bissaka         DEF                 3.3                 
Koiki               DEF                 0.0                 
Doucouré            MID                 3.3                 
Idah                FWD                 1.3                 
Lallana             MID                 1.8                 
Masina              DEF                 2.8                 
Adam Smith          DEF                 2.2                 

... and so on.

相关问题 更多 >

    热门问题