首页 > 解决方案 > 使用 BeautifulSoup Python 从

问题描述

我在https://classic.warcraftlogs.com/guild/rankings/615274/latest有一个玩家名单,我想把他们都放进名单,playerName。具体来自“损害经销商”表。

我还在 HTML 中发现了一个名为“character-metric-name”的类,我试图弄乱“class_”调用,但无法产生任何结果。

我似乎无法弄清楚如何使用我拥有的代码提取这些名称。我相信我没有正确使用附加?任何帮助表示赞赏!

import requests
from bs4 import BeautifulSoup as bs
import re
from pprint import pprint
    
parses = "https://classic.warcraftlogs.com/guild/rankings/615274/latest"

p = requests.get(parses)

parse = bs(p.content, "html.parser")

playerName = []

for b in parse.find_all("td"):

    playerName.append(b.string)


pprint(playerName)

标签: pythonweb-scrapingbeautifulsoup

解决方案


您正在寻找所有的 'td' 元素。在网站上,玩家的名字在“td”下有一个特定的类,即“character-metric-name”。您将必须获得该类下所有值的列表。你可以在网上找到如何做到这一点,应该很容易。然后您可以使用 for 循环来提取玩家名称。

parse.findAll('td',{'class':'character-metric-name'}

推荐阅读