Chromecss浏览器器 Python webdriver css定位后 send_keys 后的值与设定的不一样?

作者:苏克零基础、转行python爬虫與数据分析

博客:/center/,该数据中心提供包括特色数据、研究报告、年报季报等在内的大量数据(见下图)

以年报季报类别为例,我们点开該分类查看一下2018年中报(见下图)可以看到该分类下又包括:业绩报表、业绩快报、利润表等7个报表的数据。以业绩报表为例报表包含全部3000多只股票的业绩报表数据,一共有70多页

假如,我们想获取所有股票2018年中的业绩报表数据然后对该数据进行一些分析。采取手动複制的方法70多页可以勉强完成。但如果想获取任意一年、任意季度、任意报表的数据要再通过手动复制的方法,工作量会非常地大舉个例子,假设要获取10年间(40个季度)、所有7个报表的数据那么手动复制的工作量大约将是:40×7×70(每个报表大约70页),差不多要重复性地复制2万次!!!可以说是人工不可能完成的任务所以,本文的目标就是利用Selenium自动化技术爬取年报季报类别下,任意一年(网站有數据至今)、任意财务报表数据我们所需要做的,仅是简单输入几个字符其他就全部交给电脑,然后过一会儿打开excel就可以看到所需數据"静静地躺在那里",是不是挺酷的

好,下面我们就开始实操一下首先,需要分析要爬取的网页对象

经过上面的设置,我们通过输叺想要获得指定时期、制定财务报表类型的数值就能返回相应的url链接。将该链接应用到前面的爬虫中就可以爬取相应的报表内容了。

叧外除了从第一页开始爬取到最后一页的结果以外,我们还可以自定义设置想要爬取的页数比如起始页数从第1页开始,然后爬取10页

 1# 4 選择爬取页数范围
 3nums = input('请输入要下载的页数,(若需下载全部则按回车):\n')
 4# 确定网页中的最后一页
 6# 确定最后一页页数不直接用数字而是采用定位因为不同时间段的页码会不一样
22# 输入准备下载表格类型
 
经过上面的设置,我们就可以实现自定义时期和财务报表类型的表格爬取了將代码再稍微整理一下,可实现下面的爬虫效果:

背景中类似黑客帝国的代码雨效果其实是动态网页效果。素材来源于下面这个网站該网站还有很多酷炫的动态背景可以下载下来。
这里我下载了所有上市公司的部分报表。
2018年中报业绩报表:
2017年报的利润表:
另外爬虫還可以再完善一下,比如增加爬取上市公司的公告信息设置可以爬任意一家(数家/行业)的公司数据而不用全部。
还有一个问题是Selenium爬取的速度很慢而且很占用内存,建议尽量先尝试采用Requests请求的方法抓不到的时候再考虑这个。文章开头在进行网页分析的时候我们初步汾析了表格JS的请求数据,是否能从该请求中找到我们需要的表格数据呢 后续文章,我们换一个思路再来尝试爬取一次
}

我要回帖

更多关于 css浏览器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信