跟风下开源中国,愚人节锻炼下脖子吧
原理:
在主题style.css里面加入1
2
3
4
5
6body{
-webkit-transform: rotate(3deg);
-moz-transform: rotate(3deg);
-o-transform: rotate(3deg);
padding-top:20px;
}
只有webkit内核浏览器适用
just a diary
跟风下开源中国,愚人节锻炼下脖子吧
原理:
在主题style.css里面加入1
2
3
4
5
6body{
-webkit-transform: rotate(3deg);
-moz-transform: rotate(3deg);
-o-transform: rotate(3deg);
padding-top:20px;
}
只有webkit内核浏览器适用
怀着对老爷无比信仰之情去看了蝙蝠侠大战超人,是巨幕,但是觉得这票不值…
1.剧情乱七八糟,一人一线讲的都不清楚,要不是死忠粉肯定不知道你在描述什么
2.这明明就是超人2,为嘛起个名字叫《蝙蝠侠大战超人》,以为你是对黑暗骑士归来动画版的致敬,结果老爷就是个打酱油的
3.这个版本的卢瑟怎么成了蛇精病,你确定不是扮演的小丑?
4.老爷穿越那个梗,难道就是为了拍预告片拉票房吗?
5.虽然片名叫蝙蝠侠大战超人,但是还是讲的是大战外星人,真的是无语
6.老爷的扮演好无力,说的话做的事莫名其妙,形象上很像吴秀波这个雅痞。从宿命感、逻辑性上不如黑暗骑士归来动画版,从人物塑造更加渣的不行了,远不如诺兰版的蝙蝠侠3部曲。就连旁边坐的素不相识妹子都说虽然很帅,但是不如上个版本帅(诺兰版)
搜了下这个导演叫扎克,扎克这辈子是赶不上诺兰了,我估计再拍就成了变形金刚这样的烂片了。
Netflix很给力,一次性放出纸牌屋第四季。
下木大爷这季很惨,基本所有人都想和他背道而驰,除了Doug,还被枪击了一次差点直接剧终。
第七集的开头看的很心酸,片头开始的时候,下木大爷刚刚做完手术独自在洗手间吃着一堆药片,大爷的实力派竞争对手Conway却在洗手间和自己的娇妻啪啪啪…
想起星际穿越里面的老科学家经常吟的一首诗:
Do not go gentle into that good night,
Old age should burn and rave at close of day;
Rage, rage against the dying of the light.
…….
最近看纸牌屋原著,虽然主角也叫Francis,缩写也是FU,但是描写的是英国政坛。翻译的还好就是人名太难记了。
之前做了一个豆瓣FM简约版的chrome插件,但是高度和宽度是写死的,安装到别人的机器上总是显示的很奇怪。
所以改进了一下增加了设置高度、宽度、距左、距上的像素设置选项,这样即使一开始显示不好,只要慢慢调整总能达到一个黄金比例。
选项界面:
(简单粗糙,不喜勿喷…)
为了保持简约风格没有引用jq这种类库,所以写了很多document.getElementById之类的语句,才发现写起来这么费劲,单词字母这么多很容易拼写错误,这才发现最早发明$这个函数的那个人是那么伟大,时间就是美元啊。
git地址:https://github.com/cloudroc/douban-simple
插件网盘下载:http://pan.baidu.com/s/1mhpsUr2
新浪之前有个批量删除新浪微博的应用,但是因为官方接口收费已经下架了,有兴趣可继续关注他们的动态:http://weibo.com/lnk5
没有批量删除的工具,只有两个方案:1.自己逐条删除 2.通过程序批量操作,如果你微博太多第一个方案实施还是相对有困难的。
我采用第二种方案,通过在浏览器console里面执行脚本进行批量删除。
这里有个问题,就是渣浪没有引入jquery的类库,这就造成了在console里面寻找元素的困难性。针对这个开始想到的是写个chrome插件在background里面引入,后来发现直接在console里面append元素就可以实现,有了jquery类库,其他都不是问题了。
以下是代码:
(1)引入jquery类库,这段必须单独执行
var fileref=document.createElement(‘script’)
fileref.setAttribute(“type”,”text/javascript”)
fileref.setAttribute(“src”, ‘http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js‘)
document.getElementsByTagName(“head”)[0].appendChild(fileref);
(2)在页内寻找“删除”按钮模拟点击之后模拟点击“确定”
var list = $(“a[title=’删除此条微博’]”);
for(var i =0;i<list.length;i++){
list[i].click();
}
var dels = $(“a[node-type=’ok’]”);
for(var i =0 ;i<dels.length;i++){
dels[i].click();
}
(3)微博是分页的所以还需要频繁的刷新从新执行脚本,但是chrome的console支持上下键回滚脚本,但是也比一条条删除省力了
同样的你可以利用console实现微博批量点赞,这个也很简单的。
那么问题来了…. 请不要问了。
selenium是个自动化测试框架,至于我一开始为什么会知道,然后接触了一些已经完全忘记了…
之前接触的都是java的,看到现在大部分人都使用python编写,估计是python语法简单运行方便吧。所以也想试试,顺便借助这种实际运用学习下python也好。
这里只以chrome为例子,我也不用这个来写测试用例…
1、安装python配置环境变量什么的就不说了
2、安装pip,首先下载pip的压缩包,地址https://pypi.python.org/pypi/pip
随便解压到一个地方,然后进入目录运行命令:python setup.py install
然后cd到 C:\Python27\Scripts(这是我的安装目录),运行命令: pip install -U selenium,如果你联网了的话很快就能安装完毕
pip还是很好用的
3、下载chromedriver,地址:https://sites.google.com/a/chromium.org/chromedriver/home,如果是windows系统,下载win32版本就行。解压出exe文件,放到chrome浏览器的安装目录下,我的路径是:C:\Program Files\Google\Chrome\Application
4、最后编写运行python程序:
# -*- coding:utf-8 -*- from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.2345.com/?k718881649") print driver.title driver.quit()
5、这样就完了吗?其实还有一个坑,我第一次运行出现了错误:
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’ executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
Exception AttributeError: “‘Service’ object has no attribute ‘process’” in <bound method Service.del of
Process finished with exit code 1
注意加粗部分,如果想顺利运行,还需要把C:\Program Files\Google\Chrome\Application这个路径,加到环境变量path里面,做到在cmd运行chromedriver不报错即可
6、如果顺利,程序运行后会打开chrome浏览器访问这个网址