bs4: Как извлечь таблицы "команда-состав дома" и "команда-состав" - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь получить состав команды для домашней и выездной команд: отсюда: http://www.veikkausliiga.com/tilastot/2016/veikkausliiga/ottelut/498251/kokoonpanot/.

Я пытался использовать теги tr и td, а также теги id и class.Я не могу получить какую-либо информацию из таблицы.

import urllib
import urllib.request
from bs4 import BeautifulSoup
import os

def make_soup(url):
    thePage = urllib.request.urlopen(url)
    soupData = BeautifulSoup(thePage, "html.parser")
    return soupData

def makeTableData(url):
    matchDataSaved= ""
    soup = make_soup(url)
    table = soup.find("table",{"class":"team-rosters home"})
    return table

Я ожидал, что строки таблицы будут показаны, но код выводит None.Как я могу получить состав игроков?

1 Ответ

0 голосов
/ 22 января 2019

Я не уверен, как вы хотите вывод. Это работает, так как возвращает элемент, который имеет этот табличный тег. Вам все равно нужно пройти через это, чтобы получить теги tr и td.

Другой вариант, поскольку у него есть тег <table>, просто используйте Pandas и затем манипулируйте кадрами данных, чтобы извлечь то, что вы хотите, и в нужном вам формате. Вероятно, не в том виде, в котором я хотел бы, но получает данные, и вы можете работать с ними оттуда:

import pandas as pd

url = 'http://www.veikkausliiga.com/tilastot/2016/veikkausliiga/ottelut/498251/kokoonpanot/'

tables = pd.read_html(url)
results = pd.DataFrame()

ix_list = [2,3,4,5,7,8,9,10]
for ix in ix_list:
    results = results.append(tables[ix])

results = results.reset_index(drop=True)

Выход:

print (results)
                          0       ...                       3
0             #21  T. Dähne       ...                     NaN
1           #15  V. Jalasto       ...               #3  Taiwo
2              #20  Vincent       ...                     NaN
3               #7  N. Alho       ...                     NaN
4             #25  D. Assis       ...                     NaN
5               #9  B. Span       ...         #11  J. Ibrahim
6  #4  P. Sparrdal Mantilla       ...         #7  T. Wirtanen
7            #1  W. Viitala       ...                     NaN

[8 rows x 4 columns]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...