【Python爬虫实战】1.爬取A股上市公司年报链接并存入Excel

您所在的位置:网站首页 年报下载软件 【Python爬虫实战】1.爬取A股上市公司年报链接并存入Excel

【Python爬虫实战】1.爬取A股上市公司年报链接并存入Excel

2024-07-13 06:06| 来源: 网络整理| 查看: 265

 1.项目分析  数据来源:巨潮资讯 项目需求:按照股票代码,公司名称,年报全称,年份,下载链接等要素写入excel表 使用语言:python 第三方库:requests, re , time等

成品展示: 

2. 快速上手

废话就到这里,直接开干!

1.寻找接口

众所周知,爬取网页数据一般可以通过寻找网页结构规律和爬取接口两种方式,简单起见,笔者直接使用了搜索接口。

下图为巨潮资讯网首页。

小手一点,年报直接出现,这是针对具体公司的年报可以直接搜索,那么该如何爬取所有的记录呢?

F12打开开发者工具,进行简单的网络抓包。

通过切换页面,发现网络上有响应,发现搜索接口。

没错,就是这段链接!

searchkey:搜索内容;pageNum:当前页码; type = shj:沪深京主板……

当然,也可以加入参数&sdate=2015-01-01&edate=2022-01-01&来指定搜索链接。

直接get,返回一个json文件,也包含股票代码,公司名称,还有关键的下载链接!

2.获取数据

既然找到了json文件,那么就很好入手,直接打开pycharm。

先根据接口,写好访问参数。

import requests import re import openpyxl import time # 设置搜索参数 search_key = "年报" url_template = "http://www.cninfo.com.cn/new/fulltextSearch/full?searchkey={}&sdate=2016-01-01&edate=2017-01-01&isfulltext=false&sortName=pubdate&sortType=desc&pageNum={}&type=shj" headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Accept-Language': 'en-US,en;q=0.5', 'Accept-Encoding': 'gzip, deflate, br', 'Connection': 'keep-alive', 'Upgrade-Insecure-Requests': '1' }

然后使用request进行访问,注意程序的稳健性!爬取众多文件很容易报错,所以要做好异常机制处理,笔者做了失败重试以及多次失败后直接跳过的机制。

# 发送HTTP请求并获取响应 all_results = [] page_num =1 #设置首页 total_pages = 1 #初始化最大页面 max_retries = 2 #最大重试次数 retry_count = 0 while page_num


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3