。,。前面我们已经了解了python中多线程,selenium,requests等爬虫基本操作的知识,现在我们准备编写一个规模较大的爬虫,目的是爬取所有上市公司2015年至今的公告信息。
相较于前面几个简单的爬虫功能代码,公告信息爬虫需要考虑更多的问题,现在可以预见到的问题有
1. 爬取公告信息网址的选择
在开始爬取之前我们必须选择一个合适的数据源,如果能找到一个好的数据源会极大的提高爬取的速度。
2.爬取信息的储存
在沪深两市发行股票的公司共有3000多家,我们需要抓取每一家公司从2015年至今的公告信息,这样的大量的信息不可能简单的储存到一个文件中,必须选择一个合适的数据格式,让查看和提取信息更加方便。
3.网址的排重
由于数据很多,爬虫可能需要运行很长时间才能完成爬取,这期间很可能会出现各种意外导致爬虫中断,此时如果重新爬取数据太浪费时间,我们需要制定url的排重方案在爬取网址前判断是否爬取过该网址。
4.爬取信息的速度
因为数据量很大,如果我们采用前面单线程的模式进行爬取可能抓一个月也爬不完,为了加快爬取的速度我们需要在爬虫中使用多线程,多进程等功能。
5.网站的反爬措施
发布股票信息的大型网站都有自己的反爬措施,我们不做任何处理的快速抓取信息很容易被网站的反爬措施发现,无法继续抓取网页的内容。
6.爬虫框架的可拓展性
由于公告是在不断更新的,我们在爬取了历史数据后如果还想要获得股票新的公告信息重新运行爬虫会很麻烦,针对这种情况,我们需要单独写一个模块来实现更新公告信息的功能。
。,。爬虫设计面临的问题大概就是这些,接下来设计爬虫框架的时候需要时时考虑这些问题。笔者初学python,文章难免有很多不足,请各位多多指教
好了,开始吧