def login(username, password): from DecryptLogin import login lg = login.Login() _, session = lg.bilibili(username, password, 'pc') SESSDATA = session.cookies._cookies['.bilibili']['/']['SESSDATA'].value ss = 'SESSDATA=' + SESSDATA return ss
def __init__(self, username, password, time_interval=30, handler=MessageHandler(), **kwargs): _, self.session = login.Login().weibo(username, password, 'scanqr') self.headers = { 'Accept': 'application/json, text/plain, */*', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 'Connection': 'keep-alive', 'Host': 'm.weibo.cn', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36' } self.api_url = 'https://m.weibo.cn/api/container/getIndex?uid={}&luicode=10000011&lfid=231093_-_selffollowed&type=uid&value={}&containerid={}' self.format_profile_url = 'https://m.weibo.cn/u/{}?uid={}&luicode=10000011&lfid=231093_-_selffollowed' self.time_interval = time_interval self.handler = handler
def jd_login(): username = "******" password = "******" lg = login.Login() infos_return, session = lg.jingdong(username=username, password=password) return session
def login(self, account, password): """ 账户登录 :param account: email或者手机号码 :param password: :return: """ email_regex = r"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)" phone_regex = r"\+?\d{10,15}$" email_pattern = re.compile(email_regex) phone_pattern = re.compile(phone_regex) if email_pattern.match(account) or phone_pattern.match(account): lg = login.Login() result, session= lg.zhihu(account, password, 'pc') print(result, session) for cookie in session.cookies: self.cookies.set_cookie( cookie ) self.cookies.save(ignore_discard=True) # 保存登录信息cookies self.cookies.load(filename=settings.COOKIES_FILE, ignore_discard=True) return result # return self._login_api(account, password) else: raise ZhihuError("无效的用户名")
def run(username, password): try: lg = login.Login() _, session = lg.music163(username, password) csrf = re.findall('__csrf=(.*?) for', str(session.cookies))[0] cracker = Cracker() headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36', 'Content-Type': 'application/x-www-form-urlencoded', 'Referer': 'http://music.163.com/discover', 'Accept': '*/*' } signin_url = 'https://music.163.com/weapi/point/dailyTask?csrf_token=' + csrf # 模拟签到(typeid为0代表APP上签到, 为1代表在网页上签到) typeids = [0, 1] for typeid in typeids: client_name = 'Web端' if typeid == 1 else 'APP端' # --构造请求获得响应 data = {'type': typeid} data = cracker.get(data) res = session.post(signin_url, headers=headers, data=data) res_json = res.json() # --判断签到是否成功 if res_json['code'] == 200: print('账号%s在%s签到成功...' % (username, client_name)) else: print('账号%s在%s签到失败, 原因: %s...' % (username, client_name, res_json.get('msg'))) except Exception as e: requests.get( 'https://sc.ftqq.com/sever酱密钥.send?text=网易云签到脚本运行失败&desp=具体情况未知')
def __init__(self, username, password, **kwargs): _, self.session = login.Login().music163(username, password) self.csrf = re.findall('__csrf=(.*?) for', str(self.session.cookies))[0] self.cracker = Cracker() self.headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36' }
def __init__(self, dirpath='qqdata', **kwargs): lg = login.Login() # QQ空间 infos_return, self.session_zone = lg.QQZone() self.username = infos_return.get('username') self.session_zone_all_cookies = requests.utils.dict_from_cookiejar(self.session_zone.cookies) # QQ安全中心 _, self.session_id = lg.QQId() self.session_id_all_cookies = requests.utils.dict_from_cookiejar(self.session_id.cookies) # QQ群 _, self.session_qun = lg.QQQun() self.session_qun_all_cookies = requests.utils.dict_from_cookiejar(self.session_qun.cookies) # 数据保存的文件夹(方便后续的可视化操作) self.dirpath = dirpath
def __init__(self, dirpath='qqdata', **kwargs): lg = login.Login() # QQ空间 self.username, self.session_zone = lg.QQZone('mobile') self.session_zone_all_cookies = requests.utils.dict_from_cookiejar( self.session_zone.cookies) # QQ安全中心 self.username, self.session_id = lg.QQId('mobile') self.session_id_all_cookies = requests.utils.dict_from_cookiejar( self.session_id.cookies) # QQ群 self.username, self.session_qun = lg.QQQun('mobile') self.session_qun_all_cookies = requests.utils.dict_from_cookiejar( self.session_qun.cookies) # 数据保存的文件夹(方便后续的可视化操作) self.dirpath = dirpath
def parse_login(self): ''' 爬虫登陆阶段登陆处理 该六种为二维码登陆,扫码即可登陆后 session信息保存到本地读取 支持QQ群、QQ空间、QQ安全中心、淘宝、京东和斗鱼登陆 :param login :return session ''' from DecryptLogin import login lg = login.Login() if self.login.lower() == 'qqqun': if self.first_url[0].split('.com')[0][-6:] == 'qun.qq': _, self.session = lg.QQQun() else: raise ValueError('The url box does not match the login') elif self.login.lower() == 'qqzone': if self.first_url[0].split('.com')[0][-9:] == '.qzone.qq': _, self.session = lg.QQZone() else: raise ValueError('The url box does not match the login') elif self.login.lower() == 'qqid': if self.first_url[0].split('.com')[0][-6:] == '.id.qq': _, self.session = lg.QQId() else: raise ValueError('The url box does not match the login') elif self.login.lower() == 'taobao': if self.first_url[0].split('.com')[0][-7:] == '.taobao': _, self.session = lg.taobao() else: raise ValueError('The url box does not match the login') elif self.login.lower() == 'jingdong': if self.first_url[0].split('.com')[0][-3:] == '.jd': _, self.session = lg.jingdong() else: raise ValueError('The url box does not match the login') elif self.login.lower() == 'douyu': if self.first_url[0].split('.com')[0][-6:] == '.douyu': _, self.session = lg.douyu() else: raise ValueError('The url box does not match the login') else: raise ValueError('Login box input error')
def login(): lg = login.Login() infos_return, session = lg.QQZone() return infos_return, session
def login(self, username, password): lg = login.Login() infos_return, session = lg.xiaomihealth(username, password) return infos_return, session
def login(username, password): lg = login.Login() infos_return, session = lg.weibo(username, password, 'pc') return infos_return, session
def cracker(imagepath): img = Image.open(imagepath) # 识别验证码图片 img.data() client = AipOcr(APP_ID, API_KEY, SECRET_KEY) # fp = open('C:\\Users/张献强\\Desktop\\search-engine\\ArticleSpider\\ArticleSpider\\utils\\captcha.jpg', 'rb').read() # s1 = client.basicGeneral(fp) # print(s1) # fp2 = open('C:/Users/张献强/Desktop/search-engine/ArticleSpider/ArticleSpider/utils/captcha.jpg', 'rb').read() # s2 = client.basicGeneral(fp2) # print(s2) # # 高精度识别 # s3 = client.basicAccurate(fp) # print(s3) im = Image.open( 'C:/Users/张献强/Desktop/search-engine/ArticleSpider/ArticleSpider/utils/captcha.jpg' ) result = pytesseract.image_to_string(im) print(result) return result lg = login.Login() infos_return, session = lg.zhihu("14767752312", "110112119zxq", 'pc', crack_captcha_func=cracker) # def cracker(imagepath): # return 'LOVE'
def login(self): lg = login.Login() infos_return, session = lg.jingdong() return session
def login(username, password): lg = login.Login() _, session = lg.music163(username, password) return session
def login(username, password): lg = login.Login() _, session = lg.weibo(username, password, mode='mobile') return session
def login(username, password): _, session = login.Login().bilibili(username, password) return session
def login(username, password): lg = login.Login() infos_return, session = lg.bilibili(username, password, 'pc') return session
def __init__(self, username, password, **kwargs): lg = login.Login() self.infos_return, self.session = lg.cloud189(username, password, 'mobile')
def login(username, password): lg = login.Login() infos_return, session = lg.music163(username, password) return infos_return.get('userid'), session
def login(username, password): lg = login.Login() infos_return, session = lg.weibo(username, password, 'pc') return infos_return.get('nick'), infos_return.get('uid'), session
def login(): lg = login.Login() infos, session = lg.taobao() return session
def login(self, username, password): lg = login.Login() infos_return, session = lg.icourse163(username, password) return infos_return, session
def login(self): lg = login.Login() infos_return, session = lg.taobao() return infos_return, session