网页抓取数据';这不是典型的表python

网页抓取数据';这不是典型的表python,python,web-scraping,Python,Web Scraping,我试图找到一种从rotogrinders页面中提取数据的方法,而不是以典型的表格形式。我是新来的,以前做过一个非常基本的: url = 'site.com' html = requests.get(url).content df_list = pd.read_html(html) temp_df = df_list[-1] 这已经足够了…但这是不同的 如果你看一下,我想得到每个队的球员名单,按照他们被列出的顺序(从上到下)。从那里我可以按球队做深度图,但我需要

我试图找到一种从rotogrinders页面中提取数据的方法,而不是以典型的表格形式。我是新来的,以前做过一个非常基本的:

    url = 'site.com' 
    html = requests.get(url).content
    df_list = pd.read_html(html)
    temp_df = df_list[-1]
这已经足够了…但这是不同的

如果你看一下,我想得到每个队的球员名单,按照他们被列出的顺序(从上到下)。从那里我可以按球队做深度图,但我需要得到球员和位置的列表。每支球队都在一个单独的栏中,然后由相互比赛的两支球队分组。我只需要姓名和职位,但如果有其他信息,那就可以了

本质上,这就是我想要的输出:

Alex Smith        QB $7.2K 31.0
Patrick Mahomes   QB 0
Kareem Hunt       RB $7.8K 43.1
Charcandrick West RB $5.2K 9.0
C.J. Spiller      RB $4.5K 0
Tyreek Hill       WR $7.2K 23.3
Chris Conley      WR $4.9K 5.3
Albert Wilson     WR $4.9K 6.2
De'Anthony Thomas WR $4.5K 0.7
Demarcus Robinson WR $4.5K 0
Travis Kelce      TE $6.7K 6.9
Demetrius Harris  TE $4.5K 8.5
Cairo Santos       K $4.6K 6.0
Tom Brady         QB $9.2K 10.7
Jimmy Garoppolo   QB $6K 0
Mike Gillislee    RB $6.7K 22.5
James White       RB $5.7K 8.3
Dion Lewis        RB $5.1K 0.9
Brandin Cooks     WR $7.9K 10.3
Chris Hogan       WR $6.2K 3.0
Danny Amendola    WR $6.1K 13.0
Malcolm Mitchell  WR $4.9K 0
Phillip Dorsett   WR $5K 0.0
Rob Gronkowski    TE $8.1K 4.3
Dwayne Allen      TE $4.9K 0.0
Stephen Gostkowski K $5.1K 9.0
...               ... .....
接下来是其他球队

编辑:这就是我的工作内容

url = 'https://rotogrinders.com/lineups/nfl?week=1&site=fanduel'
page = requests.get(url).content
soup = BeautifulSoup(page, 'html.parser')
name_box = soup.find('li', attrs={'class': 'player'})
name = name_box.text.strip() 
这是我得到的。我正试图弄清楚如何从我目前拥有的(这只是第一个玩家,有那么多空白)进入我的输出;如上图所示

以下是我的输出:

print (name)
Alex Smith




                                        QB



                                    $7.2K

31.0

试着和beautifulsoup合作。我一直在和beautifulsoup合作。只是有一段艰难的时光。我已经有了基础知识,现在只是想扩展一下。看上面,我已经添加了一个问题,我在哪里与它。。。
import bs4
import requests as re
import pandas as pd


alpha  = re.get('https://rotogrinders.com/lineups/nfl?week=1&site=fanduel')

beta = bs4.BeautifulSoup(alpha.text,'lxml')

gama = beta.findAll('a',{'class':'player-popup'})
lister = [a.text for a in gama]

positions = beta.findAll('span',{'class':'position'})
positionslist=[span.text for span in positions]

salaries = beta.findAll('span',{'class':"salary"})
salarieslist = [span.text for span in salaries]

points = beta.findAll('span',{'class':"fpts actual"})
pointslist = [span.text for span in points]



target = pd.DataFrame(

{

'player name':lister
,'positions':positionslist
,'salaries':salarieslist
,'points':pointslist
})