Во-первых, я пытаюсь загрузить таблицу прогноза прибыли с 77 подстраницами из "https://data.eastmoney.com/report/profitforecast.jshtml", используя BeautifulSoup. После проверки страницы html таблица находится под (table class = "table-model"), а не в типичных тегах tr и td. Однако ничего не было взято с использованием следующих кодов. Во-вторых, я проверил доступ к последующим страницам через
"a target =" _ self "href =" javascript: "; =" "data-page =" 2 "> 2". Как заставить BeautifulSoup захватывать эти последующие страницы со страницы 2 до 77?
Мой код:
import requests
import pandas as pd
from bs4 import BeautifulSoup
url = "https://data.eastmoney.com/report/profitforecast.jshtml"
result = requests.get(url)
result.raise_for_status()
result.encoding = "utf-8"
src = result.content
soup = BeautifulSoup(src, 'lxml')
with open('soup.txt','w') as f:
f.write(str(src))
table = soup.find("table", {'class': "table-model"})
array = []
for tr_tag in soup.find_all('tr'):
b_tag = tr_tag.find_all('td')
array.append(b_tag)
print(array)
df = pd.DataFrame(array)
print(df)