心随所致,梦想为开。Follow the Dreams & Heart.
技术讨论
技术随想,更专业的技术问题在http://www.ucosoft.com
putty+Xming,完美武器
Jul 5th
进来需要在OpenERP上进行开发,对一些常见问题进行总结整理。
前言+题外话:使用putty+Xming操作X界面。
1. 服务器安装ssh服务
sudo apt-get install openssh-server
2. windows上安装Xming
下载地址:http://sourceforge.net/project/showfiles.php?group_id=156984
3. 设置putty
下载地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
在Putty的Configuration中激活X11 forwarding。
4. OK,使用
WordPress免登录发布接口,支持WP3.0
Jun 16th
下载地址: hm-locowp(支持最新的WordPress3.x版本)
声明: (1)公开这个免登录的发布接口主要出于技术研究的考虑,请不要进行纯粹的采集。
(2)请尊重作者劳动,谴责拷贝后收费的行为。
发布不成功的请注意检查几点:1. 发布的编码注意应该是utf8 2. 发布规则中选中“数据发布时进行UrlEncode处理” 3.定义发布接口是注意路径是hm-locowp.php所在的路径,不是wp的根目录。
2010.10.15: 感谢wind和Jingwen,发文中引号问题已经解决。参考后面评论,或者重新下载附件。
2010.08.03: 增加了自定义作者,增加自定义域,具体见hm-locowp.php中说明。 9. 增加了自定义域功能,发布参数指定post_meta_list=key1$$value1|||key2$$value2,不同域之间用|||隔开,名称与内容之间用$$隔开。
经过测试,在WordPress3.x工作正常。
—————-更新记录分割线————– 2010.05.11: 处理了部分服务器由于设置了magic_quotes_gpc参数而导致的引号问题。
2009.09.14: 修改了category只能在默认分类的问题,很抱歉,是下载链接被指向了老的版本。http://www.satwe.com/u/18
现在重写程序,主要更新为:
- 可以支持WordPress 2.5+所有版本,包括WordPress 2.8以及以后的所有版本.
- 采用Wordpress内置的发布函数,最大限度提高了兼容性。
- 简化了配置文件。
测试非常稳定,欢迎大家更新试用。
—————-旧版分割线———————— 1. 说明
使用HM-LocoWP接口可以在不登陆Wordpress的情况下发布日志,并且集成了预约发布、自动翻译生成slug、自动添加tag等功能,可以配合火车头采集器Locoly使用。本接口参考了rq204的接口,并借鉴了cos_slug_translatorslug等插件代码,在此一并感谢。
获取接口模块的最新版本请访问: http://www.satwe.com/u/14
2. 主要功能
- 可以支持各种发布状态,“发布publish”,“预约发布future”、“审核pending”
- 支持定期自动审核发布功能
- 发布时间随机或者按照间隔递增
- 自动设置英文永久链接。根据标题自动翻译为英文并进行seo处理
- 发布后自动ping
- 时区处理功能:可以处理由于服务器时间与博客时间的时区不同带来的问题,特别适合在国外服务器上的博客
- 支持多标签和分类catagory,对不存在的Tag和Category可以自动添加 (more…)
Python中获取Javascript渲染后的HTML源码
Apr 9th
Get Rendered HTML Source In Python
前因:
现在的网页越来越动态和漂亮,大量地用到了Javascript,包括但是不限于Ajax,这样一来直接查看网页源代码的话的,获取到的并不是真正的渲染完成后的页面。这对采集来说,是一个很大的挑战。
在火车头当中,对于Ajax获取的数据的话,可以手动分析页面提取的Ajax的处理url,然后来提取。但是对于复杂的session验证(特别是.NET的网站来说)处理比较困难。
另外一方面,对于javascript生成的页面,火车头也没法直接提取。
思路:
首先明确的是必须获取Javascript渲染结束后的结果。这一点是明确的,具体就是方法就因人而异。
而自己解决Javascript渲染无异于痴人说梦,所以必须借助现有的浏览器核心,比如Gecko、WebKit、IE。如果用Java开发的话可以Jrec这个库,它封装了Gecko。如果其他的语言,而且是在windows平台上的话,最简单的就是用——
COM,用Internet Explorer 提供的com组件。
解决方案:
突破了这层关系,下面的就水到渠成了。
在python下,对IE封装的比较完善而且文档齐全的就是PAMIE(http://sourceforge.net/projects/pamie),它的本意是作为自动化测试工具使用的。
需要注意的是,在页面加载完之后需要留出一定时间来让页面的js代码执行渲染完成后再提取html代码。这个时间需要通过试验确定。
需要注意的是: 前面所述的利用PAMIE来获取渲染后的html内容的方法是可行的,但是缺点是效率非常低。对于最常见的ajax动态内容页面来说,最直接的方法还是构造ajax请求,来获取相应内容。这样效率很高,而且返回数据都是结构化的xml或者json数据,比html更容易处理。
学习Midas,做了一个计算
Apr 2nd
某大厦单锁玻璃幕墙结构,包括采光顶与雨棚。
主要考虑自重、风、地震荷载,对于不同部位分别按照《玻璃幕墙工程技术规范》和《建筑抗震设计规范》。
单层索网幕墙体系具有通透性好、轻盈美观、环保节能和施工灵活等特点,但由于柔性支承本身的设计不同于其他结构,钢索施加预张力,才能抵抗幕墙风荷载与自重。
本工程两栋楼为独立的体系,索网必须固定在能独自承受的框架结构上,采用框架一侧与主体结构能够水平滑动,达到两栋主体结构之间变形不受相互影响的目的。
采用Midas 7.0.3计算,有图有真相。
用Python做了个Spider
Mar 6th
前因:
- 前些天为TAR写了一个Python的接口插件tar_pytar后,对python的兴致很高。
- 本博上面最火的文章就是“开源的火车头采集-Wordpress2.7.1免登录发布接口”,看来大家利用采集做垃圾站的热情也很好。
- 著名的火车头采集器LocoySpider也出2009版了,解决了.Net 3.5不兼容问题,而且采集标签进行了语法高亮。很好很强大。但是免费版不支持任意附件下载功能…
- 想下载点资料,但是论坛里面一个一个点击太烦…
于是:
自己做一个吧,python做这个肯定很合适,与火车头的功能做个对比: