URLS循环获取财务数据



我有一个代码,我试图获得财务,但我的问题是我只在excel中收到第一个url "年收入"而不是四个选项卡。下面的代码,如果有人有任何想法,我做错了什么,应该改变得到每个链接的四个选项卡:

import requests
from bs4 import BeautifulSoup
import pandas as pd
headers = {'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0', 'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET',
'Access-Control-Allow-Headers': 'Content-Type',
'Access-Control-Max-Age': '3600'}
ticker = "BABA"
urls= {}
urls['income annually']= f"https://stockanalysis.com/stocks/{ticker}/financials/"
urls['balance sheet annually']= f"https://stockanalysis.com/stocks/{ticker}/financials/balance-sheet/"
urls['cash flow annually']= f"https://stockanalysis.com/stocks/{ticker}/financials/cash-flow-statement/"
urls['ratios annually']= f"https://stockanalysis.com/stocks/{ticker}/financials/ratios/"

xlwriter =pd.ExcelWriter(f'financial statements ({ticker}).xlsx', engine='xlsxwriter')
for key in urls.keys():
response = requests.get(urls[key], headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
df = pd.read_html(str(soup), attrs={'id': 'financial-table'})[0]
df.to_excel(xlwriter, sheet_name=key, index=False)
xlwriter.save()

最后一行缩进错误。关闭文件

更正:

for key in urls.keys():
...
df.to_excel(xlwriter, sheet_name=key, index=False)
xlwriter.save()

最新更新