Я извлек таблицу с сайта с помощью BeautifulSoup.Теперь я хочу сохранить этот процесс в цикле с несколькими разными URL: s.Если это возможно, я хотел бы извлечь эти таблицы в разные документы Excel или на разные листы внутри документа.
Я пытался поместить код в цикл и добавлял df
from bs4 import BeautifulSoup
import requests
import pandas as pd
xl = pd.ExcelFile(r'path/to/file.xlsx')
link = xl.parse('Sheet1')
#this is what I can't figure out
for i in range(0,10):
try:
url = link['Link'][i]
html = requests.get(url).content
df_list = pd.read_html(html)
soup = BeautifulSoup(html,'lxml')
table = soup.select_one('table:contains("Fees Earned")')
df = pd.read_html(str(table))
list1.append(df)
except ValueError:
print('Value')
pass
#Not as important
a = df[0]
writer = pd.ExcelWriter('mytables.xlsx')
a.to_excel(writer,'Sheet1')
writer.save()
Я получаю 'ValueError' (таблицы не найдены) для первых девяти таблиц, и при печати mylist печатается только последняя таблица.Однако, когда я печатаю их без цикла for, по одной ссылке за раз, это работает.Я не могу добавить значение df [i], потому что оно говорит «индекс вне диапазона»