如何使用BeautifulSoup从Wikipedia页面获取子内容

时间:2019-10-04 08:14:00

标签: python beautifulsoup wikipedia

我正在尝试使用python基于内部链接从Wikipedia页面上抓取子内容,问题是从页面上抓取了所有内容,如何仅抓取内部链接段落,请提前

base_link='https://ar.wikipedia.org/wiki/%D8%A7%D9%84%D8%AA%D9%87%D8%A7%D8%A8_%D8%A7%D9%84%D9%82%D8%B5%D8%A8%D8%A7%D8%AA'
sub_link="#الأسباب"
total=base_link+sub_link
r=requests.get(total)
soup = bs(r.text, 'html.parser')          
results=soup.find('p')           
print(results)

1 个答案:

答案 0 :(得分:0)

这是因为它不是您要抓取的子链接。这是一个锚点。

尝试请求整个页面,然后找到给定的ID。

类似这样的东西:

from bs4 import BeautifulSoup as soup
import requests

base_link='https://ar.wikipedia.org/wiki/%D8%A7%D9%84%D8%AA%D9%87%D8%A7%D8%A8_%D8%A7%D9%84%D9%82%D8%B5%D8%A8%D8%A7%D8%AA'
anchor_id="ﺍﻸﺴﺑﺎﺑ"
r=requests.get(base_link)
page = soup(r.text, 'html.parser')
span = page.find('span', {'id': anchor_id})
results = span.parent.find_next_siblings('p')
print(results[0].text)