def login(self, user=None, passwd=None): """return (renrenId, 'success') if login successfully. return (None, info) if failed.""" if user is None: user=self.user passwd=self.passwd if passwd is None: try: import mytools # used to get passwd from personal mysql passwd=mytools.getPasswd('renren', user) except ImportError: return None, 'user/passwd format error' data=urlencode({"email": user, "password": passwd}).encode(encoding='UTF8') hdlr_cookie=urllib.request.HTTPCookieProcessor(http.cookiejar.CookieJar()) self.opener=urllib.request.build_opener(hdlr_cookie) self.opener.addheaders=[('User-agent', 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:16.0) Gecko/20100101 Firefox/16.0')] try: rsp=self.opener.open(urls['login'], data, timeout=timeout) url=rsp.geturl() except socket.timeout as e: return None, 'timeout' except urllib.error.URLError as e: return None, 'timeout' else: # check whether login is successful. m=re.compile(r'http://www.renren.com/(\d+)').match(url) if m is None: return None, 'login failed, rsp={}'.format(url) else: return m.group(1), 'login success'
def __init__(self,user='******',path='.'): self.pwdRoot=path+"/renrenData" logPath=self.pwdRoot+'/spideLog' self.log=self.interfaceLog('renrenBrowser',logPath) #get passwd from mysql database, which is not necessary passwd=mytools.getPasswd('renren',user) self.login(user,passwd) socket.setdefaulttimeout(self.timeout) self.autoSave=False
def login(user='******',passwd=None): if passwd is None: passwd=mytools.getPasswd('renren',user) cj = cookie.CookieJar(); opener=http.build_opener(http.HTTPCookieProcessor(cj)); opener.addheaders=[('User-agent','Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:16.0) Gecko/20100101 Firefox/16.0')]; data = urllib.parse.urlencode({"email":user,"password":passwd}) data=data.encode(encoding='UTF8');#encoding is needed in python3.2 login_page = "http://www.renren.com/PLogin.do" rsp=opener.open(login_page,data) print(rsp.geturl()) rid=1 global _opener _opener=opener return rid