这是我的密码:
from bs4 import BeautifulSoup as bs
import requests
import pandas as pd
r = requests.get('https://rolltide.com/roster.aspx?roster=226&path=football', headers = {'User-Agent':'Mozilla/5.0'})
soup = bs(r.content, 'lxml')
results = {}
for num, p in enumerate(soup.select('.sidearm-roster-player')):
results[num] = {'position': p.select_one('.sidearm-roster-player-position >span:first-child').text.strip()
,'Height': p.select_one('.sidearm-roster-player-height').text
,'Weight': p.select_one('.sidearm-roster-player-weight').text
,'Number': p.select_one('.sidearm-roster-player-jersey-number').text
,'Name': p.select_one('.sidearm-roster-player-name a').text
,'Year': p.select_one('.sidearm-roster-player-academic-year').text
,'Hometown': p.select_one('.sidearm-roster-player-hometown').text
,'Highschool': p.select_one('.sidearm-roster-player-highschool').text
}
df = pd.DataFrame(results.values(), columns = ['Number','Name','Position','Height','Year','Hometown','Highschool'])
df.to_excel(r'desktop\Alabama.xlsx', index=False)
除了“数字”和“位置”我不知道为什么。知道怎么回事吗
对于您有结果的数字,只需替换:
与
对于这个职位来说,这是因为你的写作方式与你的写作方式不符。 更改:
至
您可以使用pandas内置的read\u html函数:
结果:
相关问题 更多 >
编程相关推荐