잡플래닛 로그인 후 스크레이핑 문의드립니다 ㅜㅜ

조회수 1129회

아래 코드로 잡플래닛 사이트에서 로그인 후에 확인할 수 있는 직급별 연봉을 가져와야 하는데요. 정말 안됩니다 ㅜㅜ

  1. 잡플래닛에 로그인하는 url이 https://www.jobplanet.co.kr/users/sign_in
  2. 잡플래닛에서 특정회사의 연봉정보를 제공하는 페이지는 https://www.jobplanet.co.kr/companies/20575/salaries/ 인데요.

해당 사이트 파이썬으로 로그인 뚫는법 가르침 주시면 정말 감사하겠습니다ㅜㅜ

//
from bs4 import BeautifulSoup
import urllib, http.cookiejar
cj = http.cookiejar.LWPCookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj)) 
urllib.request.install_opener(opener)

headers = {'User-Agent': 'Mozilla/5.0'}

params = urllib.parse.urlencode({"mode":"login", "user_email":"*******", "user_password":"******"})
params = params.encode('utf-8')
req = urllib.request.Request("https://www.jobplanet.co.kr/users/sign_in", headers=headers)
rej = urllib.request.Request("https://www.jobplanet.co.kr/companies/20575/salaries/", headers=headers)
res = opener.open(rej)

html = res.read()

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 질문의 사이트는 인증시 form data 로 정보를 전송하여 인증처리를 하지 않습니다.

    post 로 body에 인증정보가 담긴 json 문자열을 전송하여 인증처리를 합니다.

    • requests 모듈을 이용한 샘플입니다.
    import requests
    
    URL = 'https://www.jobplanet.co.kr/users/sign_in'
    
    user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36'
    headers = {'Content-type': 'application/json', 'Accept': 'text/plain', 'User-Agent':user_agent}
    login_data = {'user':{'email':'', 'password':'', 'remember_me':'true'}}
    
    client = requests.session()
    login_response = client.post(URL, json = login_data, headers = headers)
    print(login_response.content.decode('utf-8'))
    
    index = client.get(URL)
    print(index.content.decode('utf-8'))
    
    • 감사합니다. 큰 도움되었습니다. 해당 코드로 로그인 이후 필요한 칼럼별로 스크레이핑 성공했습니다. 다시한번 감사드립니다. 알 수 없는 사용자 2019.11.15 01:13

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)