仅从维基百科项目符号列表中提取名称 returns 每个字母的名字

Extracting names from Wikipedia bullet lists only returns the first name for each letter

我正在尝试从以下维基百科页面中获取所有名称:https://ro.wikipedia.org/wiki/List%C4%83_de_prenume_rom%C3%A2ne%C8%99ti

这是我的代码 运行:

from bs4 import BeautifulSoup
import requests

url = 'https://ro.m.wikipedia.org/wiki/List%C4%83_de_prenume_rom%C3%A2ne%C8%99ti'

r = requests.get(url)

soup = BeautifulSoup(r.text, 'html.parser')
wikiName = [x.find('a').text.upper() for x in soup.findAll('div', class_ = 'div-col columns column-count column-count-5')]
for i in wikiName:
    print(i)

我想先声明一下,我是一个绝对的初学者。我试图在 class_ 之后输入不同的字符串,但 returns 没有输入整个名称列表。返回的唯一名称是每个字母的第一个:

ADA
BEATRICE
CAMELIA
DACIANA
ECATERINA
FABIA
etc.

如果有人能让我知道我必须做什么才能从页面中获取所有名称,我将不胜感激。非常感谢您!

你可以试试这个。使用 find_all 获取所有名称并稍后过滤掉垃圾。

from bs4 import BeautifulSoup
import requests

url = 'https://ro.m.wikipedia.org/wiki/List%C4%83_de_prenume_rom%C3%A2ne%C8%99ti'

r = requests.get(url)

soup = BeautifulSoup(r.text, 'html.parser')
wikiName = [x.find_all('a') for x in soup.find_all('div', class_ = 'div-col columns column-count column-count-5')]
for names in wikiName:
    print([name.text for name in names if name.text != 'wikt' and name.text != '@'])