如何使用beauthulsoup只获取Wikipedia页面上第一个表的数据?

2024-06-07 17:11:05 发布

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

我正试图从维基百科页面上获取数据。在

页面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个表的数据。 我有没有办法只得到第一个的数据?(已发行专辑)

任何帮助都将不胜感激。在


Tags: 代码inhttpsorgimportwikimusic页面
1条回答
网友
1楼 · 发布于 2024-06-07 17:11:05
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)

相关问题 更多 >

    热门问题