百度sitemap提交插件 for Typecho
几经开发,这款工具终于可以进入测试阶段。
其主要内容是向百度提交sitemap,参考了站长工具里wp的插件制作。
老高目测对SEO还是有一些用处的。
目前没有做分页sitemap,如果大家有这个需求,老高会考虑加上。
解决MAC远程总是Broken pipe
与ServerAliveInterval的设置有关
vim ~/.ssh/config
# add
ServerAliveInterval 60
Youtube开启或禁用HTML5播放器
用过MAC的TX都知道,如果没有FLASH想要播放YouTube的视频很麻烦。虽然用Chrome内置的FLASH很不错,但是动辄70+℃的CPU实在伤不起啊。H5播放器就没有这个弊端了,从此妈妈再也不用担心我的MAC了。
YouTube其实早就推出了H5的播放器,只是在PC端默认没有被开启而已。
编码漫谈
微信公众号内容接口
今天在V2EX上发现了一个上搜索微信内容的好网站
练习爬虫的同学有福了,没事儿干可以试试。
接口地址:
获取方式:
GET
参数:
-
cb 必须 固定值 sogou.weixin.gzhcb
-
openid 必须 公众号的唯一ID,可以通过搜索结果页面获得
-
page 可选 页码 默认第一页 每页最多十条记录
-
t 可选 请求发送的时间,目测没啥大用
最近貌似对openid加密了,等高人破解吧。
dmsYotdg%2F1V4oas03wIdducg7w5SL9M%2BYAL3GsHdR%2Fw9aG9Qzsh6XnA%2FUqKuQ66p8tRkK
oIWsFt4Dl6kREBsD_KrMA84ThiIA
wDssoe6gmmM8o%2FDMnpcWKuHwEPHxqeOZXzd%2FXytWShm4vQlImQmVes2pA7cYWfc%2FwudCK
oIWsFt5sM7wz7isNXkl01is9M834
IAsHogvgG8dho2KKG6sO2uI3QooM18Hx%2BZF7o7%2BjinhzOVx5t3EcYmhn93gQQgsYira4N
oIWsFt0fiD095kHlyHMIXEM7PrZc
M8sGoC2gu6ZRohqri5nKnuau%2FD8g0jkqKyfAW8cjgPLn1e3wwAZSEM%2FMsVhWFQqp7%2Bz%2B9
oIWsFtwFWRis8pbm2-hOgllnpZfw
6Ss7od5gsiLBoala%2BGkVduU4PRslLs6USIzFeWxJXDR4oyMBZNvWwNovVPSmZJ6GVI7PG
oIWsFt4UdPREjjItJo-JsJhoTjSU
Qqsoo2gg7EDuovYnPkpxGu22Hv1%2FLF9MkC4AtaAGVcP%2B49dhr5tmnOpMZFpMtNQfp%2BnRv
oIWsFt-abnxH6yhUGXNtgwhtsvS4
python格式化输出dict等集合对象
调试程序的时候,如果需要打印出变量的信息,在python中很容易,一句print即可,他几乎可以打印任何类型的对象,不像PHP中,有一堆echo(),print(),print_r(),var_dump(),让人头疼!
但是PHP的打印函数有个好处,就是打印格式良好,而Python的打印信息就不是很友好了,如
# 模拟一个很大的键值对
dic = {}
for i in xrange(201):
dic[i] = "value for %d" % i
print dic
其结果我就不打印了,总之很难看!
如何让python那冗长而且没有格式的打印变得更直观,方法有两种。
自定义dump
此方法来自stackoverflow
# 以后需要有格式的打印一个集合对象,直接使用dump(xxx)即可!
# 不要忘了import sys
import sys
def dump(obj, nested_level=0, output=sys.stdout):
spacing = ' '
if type(obj) == dict:
print >> output, '%s{' % ((nested_level) * spacing)
for k, v in obj.items():
if hasattr(v, '__iter__'):
print >> output, '%s%s:' % ((nested_level + 1) * spacing, k)
dump(v, nested_level + 1, output)
else:
print >> output, '%s%s: %s' % ((nested_level + 1) * spacing, k, v)
print >> output, '%s}' % (nested_level * spacing)
elif type(obj) == list:
print >> output, '%s[' % ((nested_level) * spacing)
for v in obj:
if hasattr(v, '__iter__'):
dump(v, nested_level + 1, output)
else:
print >> output, '%s%s' % ((nested_level + 1) * spacing, v)
print >> output, '%s]' % ((nested_level) * spacing)
else:
print >> output, '%s%s' % (nested_level * spacing, obj)
pprint
此方法来自官方,可以自定义缩进,宽度等信息。
import pprint
dic = {}
for i in xrange(201):
dic[i] = "value for %d" % i
# 自定义缩进为4空格
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(dic)
老高推荐官方的pprint,自定义格式很不错!
完
Reference:
http://stackoverflow.com/questions/15785719/how-to-print-a-dictionary-line-by-line-in-python https://docs.python.org/2/library/pprint.html