inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기

requests 통신 실습(로그인 처리) 고급(1) - 루리웹, 인프런

3-4-2 인프런 질문

해결된 질문

381

JaeYoung Yoo

작성한 질문수 1

0

안녕하세요,

3-4-2에서 인프런의 세션 가져오는 부분이 리뉴얼로 인해 변경된 거 같은데, 해당 실습을 할 수 가 없습니다.

업데이트 요청드립니다.

python 웹-크롤링

답변 4

0

jangtaesan

처음엔 변경된 사이트들 때문에 정말 힘들었었는데

시간이 지나면서 조금은 익숙되는 것 같습니다.

약간의 응용력이 생긴다고 봐야 할까요? ㅋ

기본 로직은 그대로 가져가고 변경된 영역을 고쳐보는 재미도 나름 있답니다.

이것이 결국은 다른 사이트들을 크롤링 할 때 필요한 내용이 아닐까 생각해봅니다.

 

[인프런 22년8월18일 확인]

from bs4 import BeautifulSoup
import requests                 # 로그인을 처리할 때 사용한 requests
import urllib.parse as rep
import urllib.request as urlreq # request로 이미지 파일을 다운로드 받는다.
import os

#  로그인 유저정보
LOGIN_INFO = {
    'email': "로그인 이메일주소",
    'password': "비밀번호"
}

with requests.Session() as s:
    login_req = s.post('https://www.inflearn.com/api/signin', data=LOGIN_INFO)
    if login_req.status_code == 200 and login_req.ok:
        post_one = s.get('https://www.inflearn.com/dashboard')
        post_one.raise_for_status() # 예외처리 발생시킴
        soup = BeautifulSoup(post_one.text, 'html.parser')
        badges = soup.select('div.box_content > div.media > div > figure > img')
        for i, z in enumerate(badges, 1):
            # print(z)
            fullFileName = os.path.join("Q:/startcoding/Inflearn/workspace/", str(i)+'.jpg')
            urlreq.urlretrieve(z['src'],fullFileName)

 

 

0

jangtaesan

혹시 필요하신 분이 있으실 것 같아 변경된 형태를 완성시킨 코드 올려봅니다.

[루리웹 22년8월17일 확인]

from bs4 import BeautifulSoup
import requests

#  로그인 유저정보
LOGIN_INFO = {
    'user_id': "아이디",
    'user_pw': "비밀번호"
}

with requests.Session() as s:
    login_req = s.post('https://user.ruliweb.com/member/login_proc', data=LOGIN_INFO)
    
    if login_req.status_code == 200 and login_req.ok:
        post_one = s.get('https://bbs.ruliweb.com/market/board/32/read/4839737?page=2')
        post_one.raise_for_status() # 예외처리
        soup = BeautifulSoup(post_one.text, 'html.parser')
        article = soup.select_one('.view_content.autolink').findAll('p')
        for i in article:
            if i.string is not None:
                print(i.string)

0

좋은사람

해당 예제파일 업데이트 되었습니다.

0

좋은사람

네 빠른 시일내에 업데이트 후 공지 드리겠습니다.

현재 예제에서 error 발생

0

367

3

유튜브 동영상 다운로드

0

1448

2

Atom 에디터 관련

0

337

1

위시켓 폼데이터

0

274

1

스케줄러 사용 관련 질문 드립니다

0

627

1

selenium 에러

0

428

1

Progress bar 쓰레드 관련

0

489

1

Install Package 관련 문의

0

328

1

tkinter 샘플 코드 실행 오류 건

0

1267

1

4-7-6 네이버 & 카카오 주식 정보 가져오기

0

381

1

네이버자동로그인_by_selenium

0

876

1

위시캣 로그인 처리 및 크롤링 질문

0

345

1

2-8-1 네이버이미지 크롤링 질문

1

604

3

li:nth-of-type 질문

0

350

2

에러가 뜨는데 잘 모르겠어요ㅠ

0

401

2

Install Packages 항목이 안보이는 이유가 뭘까요?

0

401

2

환경변수 Path 설정 방법

0

631

1

웹 브라우저 없는 스크랩핑 및 파싱 실습(1) - 인프런

0

333

1

웹 브라우저 없는 스크랩핑 및 파싱 실습(1) -git주소

0

477

3

download2-8-1. py질문

0

203

1

ip 차단 당하는 거 같은데 아무리 랜덤주고, sleep 줘도 안 되는데 다른 방법 더 있을까요??

0

645

1

인프런 환경이 바뀌어서 제나름대로 하는데

0

196

1

다시올려주신 예제파일로하는데

0

190

1

아직도 에러가뜨나보네요?

0

584

1