Как получить данные первой таблицы только на странице Википедии, используя BeautifulSoup?

Я пытаюсь почистить данные со страницы Википедии.

URL страницы: https://en.wikipedia.org/wiki/2015_in_hip_hop_music

Это код, который я сейчас придумала.

Код:

from bs4 import BeautifulSoup
import urllib.request
def make_soup(url):
    thepage=urllib.request.urlopen(url)
    soupdata=BeautifulSoup(thepage, "html.parser")
    return soupdata

soup= make_soup("https://en.wikipedia.org/wiki/2015_in_hip_hop_music")
albumdatasaved=""
for record in soup.findAll('tr'):
    albumdata=""
    for data in record.findAll('td'):
        albumdata=albumdata+","+data.text
    albumdatasaved=albumdatasaved+"\n"+albumdata[1:]

print(albumdatasaved)

Тем не менее, мой код дает данные всех 4 таблиц на странице. Есть ли способ получить данные только первого? (Выпущенные альбомы)

Любая помощь будет принята с благодарностью.

1 ответ

from bs4 import BeautifulSoup
import urllib.request
def make_soup(url):
    thepage=urllib.request.urlopen(url)
    soupdata=BeautifulSoup(thepage, "html.parser")
    return soupdata

soup= make_soup("https://en.wikipedia.org/wiki/2015_in_hip_hop_music")
albumdatasaved=""
# find all table ,get the first
table = soup.find_all('table', class_="wikitable")[0]  # Only use the first table
# iter over it
for record in table.findAll('tr'):
    albumdata=""
    for data in record.findAll('td'):
        albumdata=albumdata+","+data.text
    albumdatasaved=albumdatasaved+"\n"+albumdata[1:]

print(albumdatasaved)
Другие вопросы по тегам