我在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]的值,因为它表示“索引超出范围”
目前没有回答
相关问题 更多 >
编程相关推荐