def get_session(name, password): proxy = getip.getIP("") url, yundama_obj, cid, session = do_login(name, password, proxy) if url != '': rs_cont = session.get(url, headers=headers, proxies=proxy) login_info = rs_cont.text u_pattern = r'"uniqueid":"(.*)",' m = re.search(u_pattern, login_info) if m and m.group(1): # check if account is valid check_url = 'http://weibo.com/2671109275/about' resp = session.get(check_url, headers=headers, proxies=proxy) if is_403(resp.text): other.error('account {} has been forbidden'.format(name)) LoginInfoOper.freeze_account(name, 0) return None other.info( 'Login successful! The login account is {}'.format(name)) Cookies.store_cookies(name, session.cookies.get_dict(), proxy['http']) return session other.error('login failed for {}'.format(name)) return None
def send_email(email_from=from_addr, email_pass=from_password, to_addrs=None, server=smtp_server, port=smtp_port, from_nick='weibospider', to_nick='SpiderUser'): if to_addrs is None or isinstance(to_addrs, str): to_addrs = [to_addrs] msg = gen_msg(warning_info, email_subject, email_from, to_addrs[0], from_nick, to_nick) server = smtplib.SMTP(server, port) try: server.starttls() server.login(email_from, email_pass) rs = server.sendmail(email_from, to_addrs, msg.as_string()) except Exception as e: other.error( 'Failed to send emails, {} is raised, here are details:{}'.format( e, format_tb(e.__traceback__)[0])) else: return rs finally: server.quit()
def get_session(name, password): proxy = getip.getIP("") url, yundama_obj, cid, session = do_login(name, password, proxy) if url != '': rs_cont = session.get(url, headers=headers, proxies=proxy) login_info = rs_cont.text u_pattern = r'"uniqueid":"(.*)",' m = re.search(u_pattern, login_info) if m and m.group(1): # check if account is valid check_url = 'http://weibo.com/2671109275/about' resp = session.get(check_url, headers=headers, proxies=proxy) if is_403(resp.text): other.error('account {} has been forbidden'.format(name)) LoginInfoOper.freeze_account(name, 0) return None other.info('Login successful! The login account is {}'.format(name)) Cookies.store_cookies(name, session.cookies.get_dict(), proxy['http']) return session other.error('login failed for {}'.format(name)) return None
def send_email(email_from=from_addr, email_pass=from_password, to_addrs=None, server=smtp_server, port=smtp_port, from_nick='weibospider', to_nick='SpiderUser'): if to_addrs is None or isinstance(to_addrs, str): to_addrs = [to_addrs] msg = gen_msg(warning_info, email_subject, email_from, to_addrs[0], from_nick, to_nick) server = smtplib.SMTP(server, port) try: server.starttls() server.login(email_from, email_pass) rs = server.sendmail(email_from, to_addrs, msg.as_string()) except Exception as e: other.error('Failed to send emails, {} is raised, here are details:{}'.format(e, format_tb(e.__traceback__)[0])) else: return rs finally: server.quit()