模擬登陸
阿新 • • 發佈:2020-07-09
模擬登陸
import requests import getpass """ 模擬登陸豆瓣 """ class DouBanLogin(object): ## 模擬登陸,獲取session def __init__(self, account, password): self.url = "https://accounts.douban.com/j/mobile/login/basic" self.headers={ 'Cookie': 'bid=UVp6fA0UmiU', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36' } """初始化資料""" self.data = { 'ck':'', 'name':account, 'password':password, 'remember':'false', 'ticket':'' } self.session = requests.session() ## 建立會話例項,獲取session,然後就能以登入的方式去做其他事情 def get_cookie(self): """模擬登陸獲取cookie""" html = self.session.post( url=self.url, headers=self.headers, data=self.data ).json() if html["status"] == "success": print("恭喜你,登陸成功") else: print(html["status"]) def get_user_data(self): """獲取使用者資料表明登陸成功""" # TODO: 這裡填寫你使用者主頁的url url = "https://www.douban.com/people/219115070/" # 獲取使用者資訊頁面 html = self.session.get(url).text print(html) # with open('douban1.html','w',encoding='utf-8') as fp: # fp.write(html) # fp.close() def run(self): """執行程式""" self.get_cookie() self.get_user_data() import time ''' 時間戳: 秒級:10位 毫秒級:13位 微秒級:16位 ''' def get_time(): now_time = str(int(time.time()*1000)) print('當前時間戳為:',now_time) return now_time get_time() if __name__ == '__main__': account = input("請輸入你的賬號:") password = getpass.getpass("請輸入你的密碼:") login = DouBanLogin(account, password) login.run()