前几天写了一个爬虫,爬取网站信息,一开始用的MySQL,存库成功,本地测试完美没问题,然后项目经理说用Oracle,我说没问题,都差不多,然后本地一顿调试,成功了(因为之前写过数据库用Oracle的脚本)但是当时那个cx_Oracle错误记忆犹新,下载了各种版本才解决,当时没深度思考就过了,今天报应就来了,当服务器上部署执行爬虫脚本之后那个我不想面对的问题出现了,问题如下
OK,没引入包,第一反应就是引入包呗
pip install cx_Oracle
本以为引包之后程序就可以正常运行了,结果出现新的问题
貌似说的就是数据库Oracle版本,跟电脑版本,跟Python版本不一致引起的,然后就去搞百度,百度上的答案天花乱坠啊,真的666,
基本每个我都打开看了一下,发现说的都是驴头不对马嘴
什么装客户端CLent,什么配置环境变量Path,可能都是大佬,写的比较复杂,各种命令各种代码一顿操作猛如虎,试了几次发现问题根本解决不了,Wheel我也下载了,包也重新装了,各种版本也同意的,最后发现然并卵
感觉百度都不行,是不是要放弃了,但是没办法,经理催得紧,这个爬虫部署今天早上必须搞出来,没办法重新回头看看报错的原因吧
遇到问题的时候我着急于想解决问题,却忽视了问题的细节,我只看到了错误的原因,却没看到错误的提示,下面那句话说的很棒
“The specified module could not be found”. See https://cx-oracle.readthedocs.io /en/latest/user_guide/installation.html for help
这段英文很简单,初中生都看得懂,就是客套话,说白了就是有模块找不到,可以访问这个网站https://cx-oracle.readthedocs.io
/en/latest/user_guide/installation.html进行寻求帮助,平时计算机遇到问题都会给我们指明方向,我们往往忽略,因为有百度,既然百度没解决我的问题,只能尝试去访问这个网站
打开这个网站发现霹雳吧啦一大堆英文,我英语四级都没过,看毛线,但是我看到我想要的东西了
在Windows安装cx_Oracle,貌似这个对我有用,点开看看
大概意思就是解决方案有两种 要么下个Oracle客户端,要么下载个什么X数据库,什么win7不支持最新的19.x的客户端,我也看不懂,那就根据提示来吧,下载个客户端试试,然后下载了一个19.0的客户端
然后怎么使用这客户端呢,依旧说三种方式
大概意思应该是 要么代码里面加个引入外来的,要么用命令配置下环境变量,要么用统一配置,ora进行文件的复制移动什么的,我当然是怎么简单怎么来啊,那就直接加一行代码引入吧,然后发现我勒个去,我的脚本瘫痪了,报错msvcr120.dll
第一反应是不是刚才那句话,win7不适用19.x版本,于是我下载了12.1版本,依旧是这个问题,好吧,自己想歪了
这个时候是度娘表现的开始了
百度:msvcr120.dll丢失的解决方法
这里点一篇文章
就你这写的我看完就只想说三个字,啥玩意???
最后竟然下载第三方修复工具解决了?????
就这还叫解决办法???????
您是在逗我,我按照百度的第二条答案,也就是他说失败的第一种方法安装了一下C++2013,然后就果断成功了,还好我试了试第一种官方解决办法,感觉这孩子是给第三方软件打广告的,真的是误人子弟
然后再次运行,嗯哈,完美运行起来了
爬取了六个页面数据,没毛病老铁
在平时我们做开发的时候,往往对数据库接触比较多,MySQL没得说,用的最多的,Oracle也经常用,但是在Python中这两种数据库对比还很大的,做个小结,下次遇到回头看哈