Почему мой код находит только первую таблицу, а не вторую таблицу на странице википедии? - PullRequest
0 голосов
/ 25 октября 2019

Я написал код, который будет анализировать таблицу из Википедии, однако я могу получить только первую таблицу на странице, а не вторую таблицу - другой список, который я хочу.

import lxml
from urllib.request import urlopen
from bs4 import BeautifulSoup
import pandas as pd


html = urlopen('https://en.wikipedia.org/wiki/NIFTY_50')
soup = BeautifulSoup(html,'lxml')
niftylist_raw = soup.find('table', {'class': 'wikitable sortable'})

nifty_symbol =[]

for row in niftylist_raw.findAll('tr')[1:]:
    nifty_symbols = row.findAll('td')[1].text
    nifty_symbol.append(nifty_symbols)

df =  pd.DataFrame()
df['Nifty Ticker Sumbol'] = nifty_symbol
print(df)

Я бы хотел добавить список из второй таблицы в первую таблицу. Любая помощь будет оценена.

1 Ответ

0 голосов
/ 25 октября 2019

Хорошо, посмотри на свой код. Видите ли вы разницу в том, как вы выглядите для таблицы и как вы смотрите на строки? ;)

soup.find('table', -> возвращает только первое

niftylist_raw.findAll('tr') -> возвращает список

Это означает, что вам нужно изменить find на findAllи добавьте один внешний цикл for (для просмотра отдельных таблиц).

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