Python 如何使用BS4从标记外部提取文本

Python 如何使用BS4从标记外部提取文本,python,beautifulsoup,Python,Beautifulsoup,我正试图扫描维基百科的一堆页面,寻找关于二战的统计数据 我正在使用BeautifulSoup尝试从维基百科页面右侧的列中获取所有统计数据。 代码如下所示。 “links.csv”是一个包含大量链接结尾的文件,如“莱特湾之战”。我已经使用标签进行了测试,它可以正确访问所有站点 import requests from bs4 import BeautifulSoup import pandas df=pandas.read_csv("links.csv") links=df['links'] fo

我正试图扫描维基百科的一堆页面,寻找关于二战的统计数据

我正在使用BeautifulSoup尝试从维基百科页面右侧的列中获取所有统计数据。 代码如下所示。 “links.csv”是一个包含大量链接结尾的文件,如“莱特湾之战”。我已经使用
标签进行了测试,它可以正确访问所有站点

import requests
from bs4 import BeautifulSoup
import pandas
df=pandas.read_csv("links.csv")
links=df['links']
for url in links:
  # print("\n"+url+"\n")
  txt="https://en.wikipedia.org/wiki/"+url
  page=requests.get(txt)
  soup=BeautifulSoup(page.content, 'html.parser')
  tags = soup.find_all("br")
  for tag in tags:
    print(tag)
但是,我注意到文本不在实际的
标记中,它实际上在外部,如列表所示

"Sixth Army: "
<br>
"≈200,000"
<br>
<span class="flagicon">...</span>
"Air and naval forces: ≈120,000"
“第六集团军:”

"≈200,000"
... “空军和海军:≈120,000"
我想知道我怎样才能得到真正的文本“第六集团军:”和≈200000”


链接此处:

您可以隔离td单元,然后使用下一个同级

import requests
from bs4 import BeautifulSoup as bs

r = requests.get('https://en.wikipedia.org/wiki/Battle_of_Leyte')
soup = bs(r.content, 'lxml')
visible_row = soup.select_one('.vevent tr:nth-of-type(12) td span')
print(visible_row.next_sibling)
print(visible_row.next_sibling.next_sibling.next_sibling)