前几天帮朋友写了段python脚本,爬网上的一些数据。
他使用SQL Server作为db back-end,代码里我使用到pymssql。
大约三四百万条记录,但目标站点做了数据防爬取,一个IP访问频次有限制。
我在自己的VPS上也拷贝了一个副本,同时运行。
随后发现程序在VPS上运行异常,在shell中导入后测试,发现SELCET语句竟然每次都是返回None。
这确实是个BUG,不过并非我的SQL语句有问题,而是pymssql自身的BUG。见:
https://bugs.launchpad.net/ubuntu/+source/pymssql/+bug/918896
apt-get install python-pymssql
安装的版本较低,是1.02。
而我在自己的PC上安装的是2.0.0。
上面的链接中也提到了快速解决的方法,依次执行:
apt-get remove python-pymssql
apt-get install python-pip
pip install pymssql
可以试试 python-mysql的原生库。
他们不是用的MySQL,是MS SQL Server。 若是MySQL,多半我会用MySQLdb
嗯,我的错 看错了。。