我创建了下面的代码来从Transfermarkt中提取数据。但是,结果是,它不会返回玩家的全名和姓氏,而主要是(取决于长度)姓氏,并且只返回玩家姓名的第一个字母
#single team
import requests
from bs4 import BeautifulSoup
import pandas as pd
headers = {'User-Agent':
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36'}
page = "https://www.transfermarkt.co.uk/manchester-united/startseite/verein/985"
pageTree = requests.get(page, headers=headers)
pageSoup = BeautifulSoup(pageTree.content, 'html.parser')
Players = pageSoup.find_all("span", {"class": "show-for-small"})
Values = pageSoup.find_all("td", {"class": "rechts hauptlink"})
PlayersList = []
ValuesList = []
length = len(Players)
for i in range(0,length):
PlayersList.append(Players[i].text)
ValuesList.append(Values[i].text)
df = pd.DataFrame({"Players":PlayersList,"Values":ValuesList})
df
它返回市场价值和球员姓名,如“D.De Gea”,而不是“David De Gea”
怎么了?我尝试了不同的HTML选项,但都不起作用
下面的代码可以显示全名。 它提取网页HTML中“Spielprofil_tooltip”类中的文本元素,如下所示:
唯一需要注意的是,这个“spielprofil_工具提示”添加了其他多余的名称(可能显示在网站的其他表格中),因此,出于这个原因,我在最后一行中使用了
[0:30]
相关问题 更多 >
编程相关推荐