2017-10-13 176 views
1

我必須使用網頁抓取登錄網頁,但它也需要解決驗證碼。我能夠解決驗證碼。我有問題持續會議。Python Web Scraping用captcha登錄

session = requests.Session() 
html = session.get(url).content 
soup = bs(html, 'html.parser') 
name = soup.find('input', attrs={'id':some_id1}) 
pass = soup.find('input', attrs={'id':some_id2}) 
captcha = soup.find('input', attrs={'id':some_id3}) 

之後我解決了驗證碼。

credentials = { 
     some_id1 : username, 
     some_id2 : password, 
     some_id3 : captchatext, 
    } 

我不知道如何進一步處理會話,我想出了下面的代碼,但它不起作用。我也尋找各種答案,但沒有一個可行。

session.post(url, data=credentials) 
response = session.get(url).content 
soup2 = bs(response, 'html.parser') 

我需要從成功登錄後打開的URL獲取數據。

回答

0

使用瀏覽器的開發工具檢查在該特定網址上完成的請求。您將在post方法中找到一個請求url以及有效負載即Credentials。然後你會得到正確的迴應。