我在BeautifulSoup的帮助下从一个站点中提取了一张表。现在,我想使此过程与多个不同的URL循环进行。如果可能的话,我想将这些表提取到不同的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()
当我打印mylist时,我得到前九个表的'ValueError'(找不到表),并且仅打印最后一个表。但是,当我在不使用for循环的情况下打印它们时,一次只有一个链接有效。 我无法附加df [i]的值,因为它表示“索引超出范围”