1

일부 스크래핑 인증과 관련된 질문. BeautifulSoup 사용 :로그인이 필요한 파이썬 3으로 웹 사이트 긁힘

<table> 
    <tr> 
    <td> 
    User: 
    </td> 
    <td> 
    <input autocapitalize="off" autocorrect="off" id="j_username" name="j_username" type="text"/> 
    </td> 
    </tr> 
    <tr> 
    <td> 
    Password: 
    </td> 
    <td> 
    <input name="j_password" type="password"/> 
    </td> 
    </tr> 
    <tr> 
    <td align="right"> 
    <input id="remember_me" name="remember_me" type="checkbox"/> 
    </td> 
    <td> 
    <label for="remember_me"> 
     Remember me on this computer 
    </label> 
    </td> 
    </tr> 
    </table> 

이 웹 사이트의 벌금을 긁힌 자국,하지만 로그인이 필요합니다

#importing the requests lib 
import requests 
from bs4 import BeautifulSoup 

#specifying the page 
page = requests.get("http://localhost:8080/login?from=%2F") 
#parsing through the api 
soup = BeautifulSoup(page.content, 'html.parser') 
print(soup.prettify()) 

여기 출력에서, 나는 중요 할 것이라고 생각합니다. 여기에서 나는 mechanicalsoup 라이브러리를 사용하고 있습니다 :

import mechanicalsoup 

browser = mechanicalsoup.StatefulBrowser() 
browser.open("http://localhost:8080/login?from=%2F") 
browser.get_url() 
browser.get_current_page() 
browser.get_current_page().find_all('form') 
browser["j_username"] = "admin" 
browser ["j_password"] = "password" 
browser.launch_browser() 

그러나 그것은 여전히 ​​내게 로그인을하지 않습니다.

누군가 파이썬 3에서 인증 기능이있는 사이트를 긁어 모을 수있는 도구를 사용 했습니까?

+0

Selenium과 같은 것을 사용할 수 있습니다. 그것은 당신이 로그인과 같은 일을하기 위해 웹 사이트와 상호 작용할 수 있습니다. –

+3

인증 요청 방법을 사용해 보셨습니까? http://docs.python-requests.org/ko/master/user/authentication/ – Lupanoide

답변

1

요청을 사용하고 있습니다. 다음 사이트에 로그인하기위한 구문은 다음과 같습니다이 도움이

import requests 
page = requests.get("http://localhost:8080/login?from=%2F", auth= 
('username', 'password')) 

희망! 인증에 대한 자세한 내용은 여기를 참조하십시오. http://docs.python-requests.org/en/master/user/authentication/

0

MechanicalSoup를 사용하려면 먼저 기입하고 제출할 양식을 지정해야합니다. 당신은 오직 한 가지 형태가있는 경우, 사용

browser.select_form() 

을 그리고, 충전 된 형태 후에는 제출해야합니다

browser.submit_selected() 

당신은 (새로 작성) MechanicalSoup tutorial을 읽거나 볼 수 있습니다 예 : logging in into GitHub with MechanicalSoup

관련 문제