Как получить данные первой строки всей таблицы на странице Википедии, используя BeautifulSoup? - PullRequest
0 голосов
/ 08 апреля 2019

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

Здесь ниже код, который я сейчас использую.

Код:

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)

Мне нужны только данные первой строки каждой таблицы, как показано на рисунке ниже. Как я могу это сделать?

table

1 Ответ

0 голосов
/ 08 апреля 2019

Вот полностью рабочий код для вашей проблемы, лучше использовать API, но я понимаю, что вам нужно быстрое решение для него ...

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/List_of_Internet_top-level_domains")

albumdatasaved = ""
for record in soup.findAll('tr'):
    for data in record.findAll('td'):
        if data.text.strip() and data.text[0] == ".":
            albumdatasaved += data.text.strip() + "\n"
            break

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