由于想抓一些网页..
完成以下动作:
进入网站, 搜索关键字,把搜索的结果抓取出来,再进入结果页面抓取数据
but发现上述关键字进行了编码处理.
在javaeye 找到相关介绍:
原文:
[url]http://www.iteye.com/topic/286240[/url]
[url]http://www.iteye.com/topic/286810[/url]
但是是java实现. .
经过努力,转为Python代码:
....呵呵,还是PYthon 强大!!!
这是更改后的代码, 看了一些pythoner,徐诶的代码,
差距还是很大啊...呵呵, 加油
完成以下动作:
进入网站, 搜索关键字,把搜索的结果抓取出来,再进入结果页面抓取数据
but发现上述关键字进行了编码处理.
在javaeye 找到相关介绍:
原文:
[url]http://www.iteye.com/topic/286240[/url]
[url]http://www.iteye.com/topic/286810[/url]
但是是java实现. .
经过努力,转为Python代码:
#conding:utf-8
#码表[a-z, 2-7]
KEY = "abcdefghijklmnopqrstuvwxyz234567"
#16进制转为2进制,不够8位, 前面补0
def bin(x):
result = ''
while x > 0:
mod = x % 2
x /= 2
result = str(mod) + result
while len(result) != 8: result = '0%s' % result
print result
return result
def enCode(keys):
encode = ''
for char in keys:
encode = "%s%s" % (encode, bin(ord(char)))
encode = list(encode)
fols = []
for i in range(len(encode)/5 +1):
bstr = ''.join(encode[:5])
while len(bstr) < 5 : bstr = '%s0' % bstr
fols.append(int(bstr, 2))
del encode[:5]
return map(lambda x : KEY[x], fols)
if '__main__' == __name__:
print ''.join(enCode('中文'))
....呵呵,还是PYthon 强大!!!
这是更改后的代码, 看了一些pythoner,徐诶的代码,
差距还是很大啊...呵呵, 加油