我使用BeautifulSoup试图抓住以下内容:
[<ol class="player-profiles-list">
<li>
<a href="/player-profiles/player-1/">
<img alt="" height="64" src="/images/players/small/default.png"
width="42"/>
<span>
player 1
</span>
</a>
</li>
<li>
<a href="/player-profiles/player-2/">
<img alt="" height="64" src="/images/players/small/default.png"
width="42"/>
<span>
player 2
</span>
</a>
</li>
我想将每个href(有超过2个玩家)放入一个字典中,这样我就可以循环将它们中的每一个添加到根URL中。但是我收到以下错误:
&#39; AttributeError:ResultSet对象没有属性&#39; findAll&#39;。
soup = BeautifulSoup(r.text, 'html.parser')
playerList = soup.findAll('ol', {'class' : 'player-profiles-list'})
playerDict = {}
for player in playerList.findAll('a'):
playerDict[player.text] = player['href']
提前致谢
答案 0 :(得分:0)
我不能完全确定错误,但是这里有一个单行程,我用了一些方法来删除hrefs的页面。我使用了列表而不是字典。我调整了一下以适应您的代码。希望这有帮助!
soup = BeautifulSoup(page, 'html.parser')
players = soup.find('ol', attrs={'class': 'player-profiles-list'})
links = [a['href'] for a in players.find_all('a', href=True) if a.text.strip()]
@Keyur对错误完全正确!很高兴我回来了解到了什么是错的。