Python 如何从维基百科主页上抓取和显示项目链接?

Python 如何从维基百科主页上抓取和显示项目链接?,python,beautifulsoup,Python,Beautifulsoup,我试图在维基百科主页的“维基百科的姊妹项目”部分下显示项目链接(“Commons、MediaWik、iMeta Wiki等”)。然而,除了项目链接之外,我最后还得到了“维基媒体基金会”和“项目”,这是我不想要的两个链接。有人能解释一下我是如何做到只显示我想要的项目链接的吗 import requests from bs4 import BeautifulSoup url = 'https://en.wikipedia.org/' soup = BeautifulSoup(requests.g

我试图在维基百科主页的“维基百科的姊妹项目”部分下显示项目链接(“Commons、MediaWik、iMeta Wiki等”)。然而,除了项目链接之外,我最后还得到了“维基媒体基金会”和“项目”,这是我不想要的两个链接。有人能解释一下我是如何做到只显示我想要的项目链接的吗

import requests
from bs4 import BeautifulSoup


url = 'https://en.wikipedia.org/'
soup = BeautifulSoup(requests.get(url).content, 'lxml')

for a in soup.select('h2:contains("Wikipedia\'s sister projects") + div a'):
    print(a.text)
请尝试以下方法:

导入请求
从bs4导入BeautifulSoup
url='1〕https://en.wikipedia.org/'
soup=BeautifulSoup(requests.get(url.content,'lxml'))
sub_soup=soup.find('div',id='姐妹项目列表')
打印([sub_soup.find_all('a','external text')中ele的ele.text])
输出:

['Commons',
 'MediaWiki',
 'Meta-Wiki',
 'Wikibooks',
 'Wikidata',
 'Wikinews',
 'Wikiquote',
 'Wikisource',
 'Wikispecies',
 'Wikiversity',
 'Wikivoyage',
 'Wiktionary']
您发布的代码也在打印空字符串:

l=[]
选择('h2:contains(“维基百科的姐妹项目”)+div a'):
l、 附加(a.text)
印刷品(l)
输出:

['Wikimedia Foundation',
 'projects',
 '',
 'Commons',
 '',
 'MediaWiki',
 '',
 'Meta-Wiki',
 '',
 'Wikibooks',
 '',
 'Wikidata',
 '',
 'Wikinews',
 '',
 'Wikiquote',
 '',
 'Wikisource',
 '',
 'Wikispecies',
 '',
 'Wikiversity',
 '',
 'Wikivoyage',
 '',
 'Wiktionary']
请尝试以下方法:

导入请求
从bs4导入BeautifulSoup
url='1〕https://en.wikipedia.org/'
soup=BeautifulSoup(requests.get(url.content,'lxml'))
sub_soup=soup.find('div',id='姐妹项目列表')
打印([sub_soup.find_all('a','external text')中ele的ele.text])
输出:

['Commons',
 'MediaWiki',
 'Meta-Wiki',
 'Wikibooks',
 'Wikidata',
 'Wikinews',
 'Wikiquote',
 'Wikisource',
 'Wikispecies',
 'Wikiversity',
 'Wikivoyage',
 'Wiktionary']
您发布的代码也在打印空字符串:

l=[]
选择('h2:contains(“维基百科的姐妹项目”)+div a'):
l、 附加(a.text)
印刷品(l)
输出:

['Wikimedia Foundation',
 'projects',
 '',
 'Commons',
 '',
 'MediaWiki',
 '',
 'Meta-Wiki',
 '',
 'Wikibooks',
 '',
 'Wikidata',
 '',
 'Wikinews',
 '',
 'Wikiquote',
 '',
 'Wikisource',
 '',
 'Wikispecies',
 '',
 'Wikiversity',
 '',
 'Wikivoyage',
 '',
 'Wiktionary']

希望我能以正确的方式理解您的问题:您应该选择html中更窄的部分:


此代码将为您提供该部分的文本和链接。

希望我以正确的方式理解您的问题:您应该在html中选择更窄的部分:

此代码将为您提供该分区中的文本和链接