首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从维基百科项目符号列表中提取名称仅返回每个字母的名字

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

Stack Overflow用户
提问于 2021-02-08 03:35:05
回答 1查看 39关注 0票数 2

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

这是我正在运行的代码:

代码语言:javascript
复制
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_之后输入不同的字符串,但没有任何内容返回整个名称列表。返回的唯一名称是每个字母的第一个:

代码语言:javascript
复制
ADA
BEATRICE
CAMELIA
DACIANA
ECATERINA
FABIA
etc.

如果有人能让我知道我必须做什么,以便从页面上获得所有的名字,我将不胜感激。非常感谢您的提前!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-08 03:51:59

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

代码语言:javascript
复制
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 != '@'])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66092248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档