Python 如何从维基百科主页上抓取和显示项目链接?
我试图在维基百科主页的“维基百科的姊妹项目”部分下显示项目链接(“Commons、MediaWik、iMeta Wiki等”)。然而,除了项目链接之外,我最后还得到了“维基媒体基金会”和“项目”,这是我不想要的两个链接。有人能解释一下我是如何做到只显示我想要的项目链接的吗Python 如何从维基百科主页上抓取和显示项目链接?,python,beautifulsoup,Python,Beautifulsoup,我试图在维基百科主页的“维基百科的姊妹项目”部分下显示项目链接(“Commons、MediaWik、iMeta Wiki等”)。然而,除了项目链接之外,我最后还得到了“维基媒体基金会”和“项目”,这是我不想要的两个链接。有人能解释一下我是如何做到只显示我想要的项目链接的吗 import requests from bs4 import BeautifulSoup url = 'https://en.wikipedia.org/' soup = BeautifulSoup(requests.g
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中选择更窄的部分: 此代码将为您提供该分区中的文本和链接