예제 #1
0
def get_info(email, password):
    info = {}
    cookie = StrCookieJar.StrCookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
    urllib2.install_opener(opener)
    #login
    login_url = 'http://www.xiami.com/web/login'
    login_data = urllib.urlencode({
        'email': email,
        'password': password,
        'LoginButton': '\xe7\x99\xbb\xe9\x99\x86',
        'remember': 1,
    })
    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_url='http://www.xiami.com/web'
    #login_request = urllib2.Request(login_url)
    urllib2.urlopen(login_request)
    profile_url = "http://www.xiami.com/web/profile"
    profile_request = urllib2.Request(profile_url, headers=login_headers)
    profile_response = urllib2.urlopen(profile_request).read()
    info['id'] = re.findall(uid_re, profile_response)[0]
    info['cookie'] = cookie.dump()
    return info
예제 #2
0
    def login(self,email,password):
        self.cookie = StrCookieJar.StrCookieJar()
        self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookie))

        login_url = "https://login.xiami.com/member/login"

        request = urllib2.Request(login_url,headers=headers)
        response = self.opener.open(request)
        data = response.read()
        dom = lxml.html.fromstring(data)
        args = dict(map(lambda x:(str(x.name),unicode(x.value).encode("u8")),dom.xpath("//form//input")))
        args["email"] = email
        args["password"] = password

        request = urllib2.Request(login_url, urllib.urlencode(args), headers)
        response = self.opener.open(request)
        data = response.read()
예제 #3
0
def checkin(user):
    cookie = StrCookieJar.StrCookieJar(user.cookie)
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
    urllib2.install_opener(opener)

    checkin_url = "http://www.xiami.com/web/checkin/id/" + user.uid
    checkin_headers = {
        'Referer': 'http://www.xiami.com/web/',
        'User-Agent': 'Opera/9.99',
    }
    #checkin_url="http://www.xiami.com/web"
    checkin_request = urllib2.Request(checkin_url, None, checkin_headers)
    checkin_response = urllib2.urlopen(checkin_request).read()
    checkin_pattern = re.compile(r'<a class="check_in" href="(.*?)">')
    checkin_result = checkin_pattern.search(checkin_response)
    if not checkin_result:
        pattern = re.compile(
            r'<div class="idh">\xe5\xb7\xb2\xe8\xbf\x9e\xe7\xbb\xad\xe7\xad\xbe\xe5\x88\xb0(\d+)\xe5\xa4\xa9</div>'
        )
        result = pattern.search(checkin_response)
        if result:
            return result.group(1), checkin_response
        else:
            return None, checkin_response
    checkin_url = 'http://www.xiami.com' + checkin_result.group(1)
    checkin_headers = {
        'Referer': 'http://www.xiami.com/web',
        'User-Agent': 'BH_Toolchain0.5',
    }
    checkin_request = urllib2.Request(checkin_url, None, checkin_headers)
    checkin_response = urllib2.urlopen(checkin_request).read()
    pattern = re.compile(
        r'<div class="idh">\xe5\xb7\xb2\xe8\xbf\x9e\xe7\xbb\xad\xe7\xad\xbe\xe5\x88\xb0(\d+)\xe5\xa4\xa9</div>'
    )
    result = pattern.search(checkin_response)
    if result:
        return result.group(1), checkin_response
    else:
        return None, checkin_response
예제 #4
0
 def loadCookie(self,cookie):
     self.cookie = StrCookieJar.StrCookieJar(cookie)
     self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookie))