Я пытаюсь перебрать реальных игроков команды определенной футбольной команды. Я заметил, что в Википедии игроки, принадлежащие команде, имеют одинаковый формат. В этом формате есть 4-6 столов, 2 для игроков первой команды, остальные - для одолженных игроков или для молодых игроков и т. Д. c ... при использовании онлайн-инструментов, запрашивающих страницу Википедии с помощью запросов XPath, я получаю результат, который я хочу, но когда я использую его с библиотекой Python l xml. html и запрашивает библиотеку вместо того, чтобы видеть таблицы игроков как 4-6 таблиц, он видит его как один элемент таблицы, который делает его головная боль, чтобы извлечь только игроков первой команды.
вот мой python код:
def create_team_ontology(ontology_graph,team_url,team_name):
res = requests.get(team_url)
doc = lxml.html.fromstring(res.content)
print(team_url)
club_players = doc.xpath("//table[3]/tbody//tr[position() > 1]//td[4]//span/a/@href")
for player_suffix_url in club_players:
print(player_suffix_url+'\n')
player_url = wiki_prefix + player_suffix_url
get_player_info(ontology_graph,player_url,team_name)
и вот пример вики-страницы Арсенала https://en.wikipedia.org/wiki/Arsenal_F.C. в исходном файле легко проверить, что каждая таблица - это отдельный элемент. но мой список игроков в клубе содержит список всех игроков в категории «Игроки» на приведенной выше странице.
, и это код, который я запускаю в Интернете, используя inspect, затем ctrl + f // table [3] / tbody. // tr [position ()> 1] // td [4] // span / a / @ href