Извините, если это супер-глупый вопрос, но я попробовал несколько вещей, и мои попытки (и) показаны ниже.
from bs4 import BeautifulSoup
import requests
for page in range(1,5):
r=requests.get('https://etfdb.com/screener/#tab=returns&page=' + page)
data = r.text
soup = BeautifulSoup(data, "html.parser")
table = soup.find("table", {"class":"table table-bordered table-hover table-striped mm-mobile-table"})
A=[]
B=[]
C=[]
D=[]
E=[]
F=[]
G=[]
H=[]
for row in table.findAll("tr"):
for cell in row("td"):
#print (cell.get_text().strip())
A.append(cell[0].get_text().strip())
B.append(cell[1].get_text().strip())
C.append(cell[2].get_text().strip())
D.append(cell[3].get_text().strip())
E.append(cell[4].get_text().strip())
F.append(cell[5].get_text().strip())
G.append(cell[6].get_text().strip())
H.append(cell[7].get_text().strip())
df=pd.DataFrame(A,columns=['Symbol'])
df['ETF_Name']=B
df['1_Week']=C
df['4_Week']=D
df['YTD']=E
df['1_Year']=F
df['3_Year']=G
df['5_Year']=H
df
Я считаю, что имя соответствующей таблицы - ' стол-стол-граница стол-парящий стол-полосатый мм-мобильный-стол '. Проблема в том, что, похоже, существует несколько таблиц с одинаковым именем, и мой код получает данные из первой таблицы, но мне нужны данные из другой таблицы, которая, как мне кажется, является второй таблицей. Таблица, из которой я хочу загрузить данные, выглядит следующим образом («Возвращает», а не «Обзор»).