这个页面已经不再维护更新了,你可以从这里了解最新的进展
一个练手的小脚本,暂时只是实现了签到,还没有很完备的错误处理,而且在实现“全自动签到”上还没有想出什么合理的方案,先把代码贴上现丑了……
使用方法很简单
[bash]
python xiami_auto_checkin.py email password
[/bash]
即把用户名(email)和密码作为参数传进去即可
如果你只是签固定的一个帐号,也可以直接将代码中的读参数改成赋值
这个代码只是最初的版本,你可以在这里看到最新的进展
[python]
#!/usr/bin/python
# encoding:utf-8
import re
import sys
import urllib
import urllib2
import cookielib
def check(response):
“””
docstring for check
“””
pattern = re.compile(r’
‘)
result = pattern.search(response)
if result: return result.group(1)
return False
pass
def main():
“””
docstring for main
“””
# Get email and password
if len(sys.argv) != 3:
print ‘[Error] Please input email & password as sys.argv!’
return
email = sys.argv[1]
password = sys.argv[2]
# Init
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
urllib2.install_opener(opener)
# Login
login_url = ‘http://www.xiami.com/web/login’
login_data = urllib.urlencode({’email’:email, ‘password’:password, ‘LoginButton’:’登陆’,})
login_headers = {‘Referer’:’http://www.xiami.com/web/login’, ‘User-Agent’:’Opera/9.60′,}
login_request = urllib2.Request(login_url, login_data, login_headers)
login_response = urllib2.urlopen(login_request).read()
# Result
result = check(checkin_response)
if result:
print ‘[Succeed] Checkin Succeed!’, email, result
else:
print ‘[Error] Checkin Failed!’
pass
if __name__==’__main__’:
main()
[/python]
有任何问题,欢迎批评指正,更多更新信息,请参见这里