python 知乎登入 python3模擬知乎登入

2021-10-11 10:15:01 字數 2105 閱讀 6895

首先分析知乎登入頁,一般模擬登入走的都是手機頁,比較方便

分析登入過程

為了得到驗證碼我特意都輸錯了幾次密碼,知乎的登入不一定有驗證碼,所以我們在**實現的過程中需要做判斷是否需要驗證碼

引入依賴:

構建全域性請求頭

因為要模擬手機,所以這裡我們用的是手機的user-agent

登入過程

def login(code=0):

login_data = configparser.configparser()

login_data.read("user.ini") #將使用者名稱密碼放在user.ini配置檔案

username = login_data.get("logininfo", "email")

password = login_data.get("logininfo", "password")

url = 'signin'

login_url = 'login/email'

captcha_url = 'captcha.gif'

req = request.request(url)

res = request.urlopen(req)

html = res.read().decode('utf-8')

soup = beautifulsoup(html)

inputs = soup.find_all('input')

_xsrf = inputs[0]['value']

# 構造登入引數

captcha = input("請輸入驗證碼:\n")

params['captcha'] = captcha

params = parse.urlencode(params).encode('utf-8')

req = request.request(login_url,params,method="post")

res = request.urlopen(req)

result = res.read().decode('utf-8')

login_result = json.loads(result)

if login_result['r'] == 0:

print('登陸成功')

else:

if login_result['errcode'] == 1991829:

login(1)

else:

print(login_result['msg'])

login()

最後if __name__ == '__main__':

build_opener()

login()

例項效果

zhihu.gif

python 爬蟲 登入知乎

pytho3.4 requests.get request.post requests.session 1 通過瀏覽器f12開發者工具,找到登入時提交的表單以及請求的url 注意請求的url不是瀏覽器網域名稱框的url 因為知乎改了,現在不需要驗證碼了,所以中少了驗證碼的引數,不過 裡是有的 2 設...

Scrapy 登入知乎

需要先建立乙個scrapy專案,然後建立乙個testspider 按照需要修改items 然後開始修改testspider的內容,中都有注釋,不作贅述 coding utf 8 import scrapy import os import time mode 1 tencent 2 free mod...

Beautiful Soup使用,登入知乎

beautiful soup提供一些簡單的 python式的函式用來處理導航 搜尋 修改分析樹等功能。它是乙個工具箱,通過解析文件為使用者提供需要抓取的資料,因為簡單,所以不需要多少 就可以寫出乙個完整的應用程式。beautiful soup自動將輸入文件轉換為unicode編碼,輸出文件轉換為ut...