해결된 질문
작성
·
273
답변 4
0
처음엔 변경된 사이트들 때문에 정말 힘들었었는데
시간이 지나면서 조금은 익숙되는 것 같습니다.
약간의 응용력이 생긴다고 봐야 할까요? ㅋ
기본 로직은 그대로 가져가고 변경된 영역을 고쳐보는 재미도 나름 있답니다.
이것이 결국은 다른 사이트들을 크롤링 할 때 필요한 내용이 아닐까 생각해봅니다.
[인프런 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
혹시 필요하신 분이 있으실 것 같아 변경된 형태를 완성시킨 코드 올려봅니다.
[루리웹 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