python爬取2018年至2022年沪深A股上市公司年报的详细代码,并能够输出结果
时间: 2023-09-20 08:08:15 浏览: 295
用Python爬取最新股票数据含完整源代码
5星 · 资源好评率100%
好的,以下是实现该功能的Python代码:
```python
import requests
from bs4 import BeautifulSoup
# 生成年份列表
year_list = [str(i) for i in range(2018, 2023)]
# 生成A股公司列表
url = 'http://www.cninfo.com.cn/new/commonUrl/pageOfSearch?url=disclosure/list/search&orderby=0&pageSize=30'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
company_list = [option.get('value') for option in soup.find_all('option') if option.get('value') != '']
# 循环遍历每个年份和公司,爬取年报数据
for year in year_list:
for company in company_list:
url = f'http://www.cninfo.com.cn/new/announcement/download?bulletinId={company}&announceTime={year}-01-01%20~%20{year}-12-31'
response = requests.get(url)
if response.status_code == 200:
with open(f'{company}_{year}.pdf', 'wb') as f:
f.write(response.content)
print(f'{company}_{year}.pdf 已下载')
else:
print(f'{company}_{year}.pdf 下载失败')
```
这段代码首先生成了一个包含2018至2022年的年份列表和A股公司列表,然后循环遍历每个年份和公司,爬取对应年份的年报数据并以PDF形式保存到本地。如果下载成功,程序会输出“文件名 已下载”的信息,如果下载失败,则会输出“文件名 下载失败”的信息。
阅读全文