我正在尝试使用BeautifulSoup在Wikipedia页面中查找表格。我知道如何获取第一个表,但是如何获取具有相同类wikitable sortable
的第二个表(对S&P 500组件列表的最新更改)?
我的代码:
import bs4 as bs
import requests
url='https://en.wikipedia.org/wiki/List_of_S%26P_500_companies'
r=requests.get(url)
url=r.content
soup = bs.BeautifulSoup(url,'html.parser')
tab = soup.find("table",{"class":"wikitable sortable"})
答案 0 :(得分:2)
您可以使用soup.find_all
并访问最后一个表。由于只有两个table
标签为wikitable sortable
作为类,因此结果列表中的最后一个元素将是“最近的更改”表:
soup.find_all("table", {"class":"wikitable sortable"})[-1]
答案 1 :(得分:2)
您可以使用第n个类型的CSS选择器来指定第二个匹配表
import bs4 as bs
import requests
url = 'https://en.wikipedia.org/wiki/List_of_S%26P_500_companies'
r = requests.get(url)
url = r.content
soup = bs.BeautifulSoup(url,'lxml')
tab = soup.select_one("table.wikitable.sortable:nth-of-type(2)")
print(tab)