我建造的
我使用python(特别是废纸框架和美丽的汤库),MongoDB地图集作为数据库,用于数据可视化的图表图和非洲人说SMS API的ATLAS图表。 Web刮板刮擦NSE网站的最新股价,并将其存储在MongoDB Atlas数据库中。然后从数据库中检索数据,并通过SMS发送给用户。
另外,我使用GitHub动作向项目中添加了CI/CD。 CI/CD管道运行测试并覆盖代码。它针对Python版本进行测试:3.8、3.9和3.10以及MongoDB版本:4.4、5.0、6.0。这样可以确保与不同版本的Python和MongoDB的广泛兼容性。
类别提交
选择自己的冒险
应用链接
屏幕截图
描述
nse股票刮刀是一个网络刮板,可刮擦NSE网站的最新股价,并将其存储在MongoDB Atlas数据库中。它是使用开源工具的最终数据收集工具。
链接到源代码
KenMwaura1 / nse-stock-scraper
这是利用零工框架,mongodb和Africastalking的网络刮擦者,以获取内罗毕证券交易所上市公司的股价。该项目将通过Africastalking正确设置一旦通过SMS来存储股票名称和价格,并通过SMS通知。
Badges
徽章
每日股票价格刮板
网络刮板利用砂纸从内罗毕证券交易所刮擦现场股票价格 然后,每次刮擦后,价格将在Postgres数据库中保存,我们将Sqlalchemy用作ORM 和psycopg2作为数据库连接器。
可以找到随附的文章(第一部分)here 第二部分详细介绍部署和通知here
我们刮擦的实际平台是afx网站。
入门
先决条件
- python和pip(我目前正在使用3.9.2)3.7上方的任何版本都可以工作。
- An Africas Talking account
- API密钥和您的帐户中的用户名。创建一个应用程序并注意API密钥。
- PostgreSQL数据库
安装
克隆这个
允许许可证
背景
我最近一直在了解有关金融市场和数据分析的更多信息。我想建立一些可以帮助我了解股票市场的信息,还可以帮助我练习网络刮擦技巧。我还想了解有关MongoDB Atlas以及如何使用它来存储数据的更多信息。我的目标之一是利用非洲交谈发送通知短信。
我如何建造它
我使用Python和Scrapy框架构建了网络刮板。我用美丽的汤来解析HTML数据。我使用MongoDB Atlas存储数据。我使用Atlas图表可视化数据。我使用非洲人通过短信将数据发送给用户。
scrapy作为框架,可以强制执行某些方法来构建您的代码,从而更容易维护和扩展。它还具有许多内置功能,可以轻松执行分页,遵循链接和存储数据之类的事情。使用MongoDB地图集很容易,因为它具有免费的层,可让您存储多达512 MB的数据。我使用Atlas图表可视化收集到MongoDB Atlas的数据。
在这种情况下,我们为afx网站创建了一个简单的蜘蛛。蜘蛛负责爬网站并从中提取数据。蜘蛛还负责遵循链接并爬行其他页面。从网站提取数据后,它将存储在MongoDB地图集中。
然后,我们使用Atlas图表中的数据来生成不同类型的可视化,并将它们存储在仪表板中。如下所示:
关于当前运行的数据库,Atlas仪表板实时提供了很多有用的指标。
其他资源/信息
该项目的下一步是什么?
- 修复错误以及设置一个CRON作业以在一天中的特定时间将数据发送给用户。
- 将项目部署到云托管平台,即Google Cloud,Azure等
- 向项目添加更多功能,例如通过电子邮件将数据发送给用户。
- 使用Docker进行集装。