php+oracle实现证券系统+selenium模块动态爬取证券信息
证券系统文档,首先下载我本地的文档,这个证券系统是后来的php大作业,相较于那个oracle大作业(校园卡管理系统)的大工程来说只是较为简单的一个小工程。
1、首先要新建一个oracle数据库,当然你要直接在orclpdb上进行也是可以的,只不过oracle大作业那个要求建三个,为了方便我就用了其中一个south数据库来进行的,建议新建库以便区分。建库请参照Oracle Database 12c 数据库简单实例的创建过程,其中说的dbca在安装好oracle后在开始菜单中oracle项目组中
2、然后创建表空间和用户,这个就不具体说了,如果有问题请自行百度。
3、在压缩包中找到connect.php文件,更改里面对应的是数据库,用户,口令,为你自己的设置,并保存。然后将文件夹放到wamp中的www文件夹下(若是你更改了运行目录,则放到对应的目录下),然后打开wampserver,确保服务中有关oracle的服务运行,在浏览器输入http://localhost/php/login.html,来到登录界面。
4、用户名zqdba,密码tiger,登录证券管理系统界面
(1)证券添加可参考行情中心添加证券信息到本地数据库,据说可以弄一个接口去爬取网上的数据,但是我没做研究,感兴趣的可以自行研究(后续补充,用py爬虫实现了数据获取)。
(2)开通资金账户,此处需要注意所填用户名应为已经注册的用户,否则将会出现用户不存在的提示。
(3)分红具体可参见其中的解释,我模拟了两种分红方式,现金派股和送股转股。
(4)存款,行情,清算正常操作即可。
5、退出户登录,用你注册过且开通了资金账户的账号登录,进入个人用户界面。
(1)个人信息存款记录的查询显示。
(2)在证券行情的买入和所持证券的委托,默认每次买入/委托为100股,便于计算(其实是涉及a标签传参的问题,又要新加列存放以及操作的触发器什么的太麻烦了)。
6、一个简单的证券管理系统基本完成,如果你要修改样式什么的可以替换图片和对应的css文件。
后续补充:学了python之后对爬虫方面较为感兴趣,并进行了深入学习,想对这个项目进行优化,即通过python爬虫爬取到证券信息,动态填入数据库,然后开始实际行动,实际操作中发现,腾讯证券行情中心页面通过传统的urlopen方法获取的源代码中没有证券数据部分,准备好代理ip,改了user-agent,找到对应的所有xpath的我却什么也没获取到,随后,我了解到证券数据部分是通过json访问到数据库,动态生成的,在前端源代码部分是没有的,于是我改用了selenium模拟浏览器动态获取网页内容,起初由于element和elements卡了我一手,后来改了之后又时好使时报错,同样的代码,运行出来有时候能获取到,有时候又报错,通过查找报错,我发现,这原来是由于腾讯证券页面过段时间就刷新了界面,以至于之前获取到的元素过期了,于是我又通过添加try,expect,以及延时解决了报错,由于获取数据较多,到放到字典中并输出查看的时候又报了同样的错误,如法炮制,继续try,expect,最后终于成功实现了数据的爬取即添加到数据库。最后爬虫程序加入到了压缩包中,运行时注意要有对应浏览器的webdriver(详情见前一段蓝字部分)才可模拟浏览器打开,获取,关闭,更改对应的db和sql与你本地用户数据库,及zq表相同即可动态添加数据,获取其他排列方式数据可通过更改url或设置页数参数循环与url相加获取多页数据。
最后oracle大作业更复杂的校园卡管理系统找不到数据库配置的文件了,等我找到在对应上传。