Install Scrapy on OSX|mac OSX 上安装Scrapy[SYN:gejoin.com]

注:文章同步自我的[SYN:gejoin.com] 顺利的话,一句命令搞定: sudo pip install Scrapy OSX还是需要额外一些包或升级的,包括: cssselect, queuelib, six, w3lib, lxml, Twisted, characteristic, pyasn1, pyasn1-modules, service-identity 幸运的是pip或者easy_install 可以自动为你安装,但是其中的问题: Found existing installation: six 1.4.1 DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling […]

Continue Reading

gSoap传递结构体数组之上网不易

每次需要用到网络,无论PC,Mac或是移动设备,一阵愤怒涌上来。Google全线被封,Dropbox被封,Line被封,Amazon WS 被封,One Drive 被封,手机上百分之八十应用挂了……就在X内死去吧!F**k G!!顺便祝福F* Sir。如今的封锁已经到了丧心病狂的地步,当局没有任何下线和尺度!我的这个日记本也快挂了。不说了,我要砸电脑了…… ——————图片引自http://factsanddetails.com/ 现在见到最多的已经不是”Connection is reset(连接被重置)”,而是”This webpage is not available”,果然没有最牛最有最傻X。 最近用到强大的C版本gSoap库处理Web service服务端和客户端。虽然以前用过,但这次需要用到数据库,需要返回结果集,这里就直接贴出代码,分别返回单条结构体和多条的结构体数组。 接口interface.h是这样定义的: //interface.h //soapcpp2 -c -L -S -x interface.h //soapcpp2 -c -C -L -x interface.h struct OnlWS__FunkGWResp { char *Google; char *MrFang; char *GreatWall; char *Blocks; char *DnsPollution; char *CNShit; }; struct OnlWS__GetFreeNet { […]

Continue Reading

使用python对excel进行读写

工作周报或是日报,月报,是每一个IT民工的痛吧,一天忙碌下来还要被催着写周报…还好,我们的周报数据是 从项目管理平台(类似mantis)上导出来的。已经有前辈使用Perl写了将导出的excel数据进行筛选生成既定的 EXCEL格式的文档。 大家都是懒人… 这个导出周报加上代码维护的工作交给了我。 我所要做的工作整个步骤是:登录网站(用户名/密码)-> ->列表页面->输入条件->导出为||->使用Perl将导出文件进行处理->提交周报->… 如果将”导出为”之前的手工步骤也省略掉的话,那才真正实现一步完成..由于对Perl还不熟,所有步骤就选用python 重新写了!那就直接动手做吧: 分析:模块上包括登录WEB,下载文件,导出到EXCEL。 前两个模块都很简单,网上资料也很多: 1.登录,由于是登录后下载,所以需要模拟浏览器,使用cookies。这里就贴出测试的Demon def get_srcfile(begindt,fridaydt): cj= cookielib.CookieJar() opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) opener.addheaders = [(‘User-agent’,’Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 5.1)’)] params = urllib.urlencode({‘username’:’username’, ‘password’:’passwd’, ‘Cookies_Time’: 1, ‘IsLogin’:True}) # with cookies login_page=’http://www.xxx.com/login’ login_data = urllib.urlencode({u”username”:u’wangzhe2′,u”password”:u’wangzhe2′}) opener.open(login_page,login_data) …… opener.close() 2.下载文件: 减少文字量,参看这里吧:http://outofmemory.cn/code-snippet/83/sanzhong-Python-xiazai-url-save-file-code 3.读下载的文件,并导入生成的excel 这里不得不提到xlwt,xlrd,xlutils这几个包。 xlrd:读excel文件,从名字可以看出来,xls read 。地址:https://pypi.python.org/pypi/xlrd […]

Continue Reading

_PyUnicode…String Err…

_PyUnicodeUCS4_AsDefaultEncodedString ERR!
好久没来打理这里了,突然想起了这里,就来了,正好把刚刚遇到和解决的问题分享一下!
这篇文章必须短!
因为问题着实简单:_PyUnicodeUCS4_AsDefaultEncodedString !
解决:确认你的机器是否安装了两个或更多的python编译版本,尝试指定你需要的编译版本。
注意在如果这里/usr/lib 以及/usr/bin的python是你所想要的PYTHON-HOME, 那么看看这里/usr/local/目录下呢,是否还有python呢,或许他们的编译版本一模一样呢?!

Continue Reading

Linux下编译Python/C API问题

在Linux下编译python c api时遇到 类似下面的错误: undefined reference to `Py_Initialize 当然,如果你在windows平台下,使用IDE可能不会遇到这样问题。但是在linux,unix下呢,要自己动手写Makefile呢? 猜测这可能是缺少某些库,Google一下可以找到答案,这里文章会给出原因和解决方案,但是在多一下废话给刚刚接触python C API 的童鞋们,这不是所谓的技术文章,只是希望众多刚刚步入python大门遇到此类问题的一个参考。当然我也是菜鸟… Linux下安装python,当前的发行版通常已经安装了python,但是可能版本等原因,如果需要安装,建议源码编译安装: 到这里下载所对应的版本:http://python.org/解压,cd到解压后的python(X.X.X). # ./configure # make # make install 这样编译安装完成,在Terminal下敲python: Python 2.7.3 (default, Jul 3 2012, 18:01:45) [GCC 4.7.0 20120507 (Red Hat 4.7.0-5)] on linux2 Type “help”, “copyright”, “credits” or “license” for more information. >>> OK,现在来试试Python/C API.网上的例子很多,随便拿来一个最简单的,假设保存为main.c: […]

Continue Reading