如何使用BeautifulSoup只获取Wikipedia页面上所有表的第一行数据?

2024-04-19 18:57:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图从this维基百科页面中搜集数据。你知道吗

下面是我目前正在使用的代码。你知道吗

代码:

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


Tags: 数据代码inimporturlformakerequest
1条回答
网友
1楼 · 发布于 2024-04-19 18:57:37

这里是完全为您的问题工作的代码,使用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)

相关问题 更多 >