simulate www browser with python

Simulate www browser with python. So easy with these libraries: spynner: base on libQtNetwork splinter: base on selenium WebDriver but not stable. Spynner: #!/usr/bin/python # -*- coding: utf-8 -*- import spynner import pyquery browser = spynner.Browser(debug_level=spynner.INFO) browser.create_webview() browser.show() browser.load('http://www.wordreference.com') browser.load_jquery(True) browser.choose('input[name=lr=lang_es]') browser.click('input[name=enit]') browser.click('a[class=l]:first') d = pyquery.PyQuery(browser.html) d.make_links_absolute(base_url=browser.url) href = d('a:last').attr('href') print href print len(browser.download(href)) browser.browse() Splinter install splinter: easy_install splinter install depend google chrome or firefox; install depend webdriver google chrome server wrap, download some package in https://code....

2012/11/30 Nov · 1 min · 145 words · map[name:SCys uri:]

Extreme switch IP Forward

? need forward some ip(icmp, udp, tcp) ?# enabled ipforward

2012/11/28 Nov · 1 min · 10 words · map[name:SCys uri:]

新的手机~双卡双待哦!

山寨~强悍的语音引擎:中英文流畅!具备蓝牙高速链接(1.0)超级的待机时间:20天!还可以挂QQ哦!

2012/10/08 Oct · 1 min · word · map[name:SCys uri:]

remote ssh with nohup

#ssh remote host:> ssh iscys.comroot@localhost > nohup while true: sleep 10s;# this will not close with ssh session exit.

2012/09/10 Sep · 1 min · 19 words · map[name:SCys uri:]

让DataTables支持Flask

近来工作原因,正在从Django转到Flask,而其中将DataTables移植到了Flask中去.基本的功能还是工作了,还差那个正则和另外一个不常用到的属性,现在还是用着先,如果有任何BUG请留言或者给我发邮件.需要用到常用扩展:Flask-Sqlalchemy,Flask-WTFdt = DataTable()dt.filter(Account.all_username_q(),((‘AccountAttribute.id’,‘ID’),(‘AccountAttribute.username’,Account.display_name(‘username’)),(‘AccountAttribute.value’,Account.display_name(‘CT.LanNumber’)),))return dt.json()一下是详细代码,英文不好,见到错误请多多指正:# coding:utf-8from flask.ext.wtf import Form,html5,TextField,StringField,IntegerField,BooleanFieldfrom flask import request,jsonifyfrom core import dbclass DataTableForm(Form):iDisplayStart = IntegerField()iDisplayLength = IntegerField()iColumns = IntegerField()sSearch = StringField(64)bRegex = BooleanField()sEcho = StringField(64)class DataTable(object):‘’’dt = DataTable()dt.filter(Account.all_username_q(),((‘AccountAttribute.id’,‘ID’),(‘AccountAttribute.username’,Account.display_name(‘username’)),(‘AccountAttribute.value’,Account.display_name(‘CT.LanNumber’)),))return dt.json()‘’’form = Nonedata = Nonedef valid(self):self.form = DataTableForm(csrf_enabled=False)return self.form.validate_on_submit()def col(self,name):table,field = name.split(’.’)for col_desc in self.query.column_descriptions:if col_desc[’name’] == table:return getattr(col_desc[’type’],field)elif col_desc[’name’] == field:return col_desc[’expr’]def filter(self,query,columns):if self.valid():# total columns workingcol_range = range(0,int(request.form[‘iColumns’]))# search key# TODO support regexkey = self.form.data[‘sSearch’]self.query = queryself.columns = columnsself....

2012/07/29 Jul · 1 min · 182 words · map[name:SCys uri:]