inflearn logo
강의

Course

Instructor

Introduction to Python and Creating Various Automated Applications Using Web Crawling

requests Communication Practice (Login Handling) Advanced (1) - Ruliweb, Inflearn

셀렉트 선택이 잘못되는건지 잘 안됩니다.

370

gulungse4383

5 asked

0

import sys

import io

from bs4 import BeautifulSoup

import requests

import urllib.parse as rep

import urllib.request as req

import os

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')

sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')

#로그인 유저정보

LOGIN_INFO = {

'user_id' : 'gulungse@gmail.com',

'user_pw' : 'rlawjdgh2358',

'user-submit' : rep.quote_plus('로그인'),

'user-cookie' : 1

}

#Session 생성 , with 구문안에서 유지

with requests.Session() as s:

login_req = s.post('https://www.inflearn.com/wp-login.php?redirect_to=https%3A%2F%2Fwww.inflearn.com%2F', data=LOGIN_INFO)

#HTML 소스확인

#print('login_req',login_req.text)

#Header 확인

#print('headers',login_req.headers)

if login_req.status_code == 200 and login_req.ok:

post_one = s.get('https://www.inflearn.com/members/gulungse/course/')

post_one.raise_for_status()

soup = BeautifulSoup(post_one.text, 'html.parser')

#print(soup.prettify())

course = soup.select("ul.course-list > li > a > img")

for i,z in enumerate(course,1):

print(z)

# fullFileName = os.path.join("/Users/jeongho/Documents/image_down",str(i)+'.jpg') # str(i) 는 넘버값이 정수로 넘어오기때문에 문자로 변환

# req.urlretrieve(z['src'],fullFileName)

저는 아직 인프런에서 뱃지가 없어서 신청한 강좌의 이미지를 가져오려고 했는데요.

신청한 강좌가 총4가지인데 이미지다운이 되질 않네요. ㅠ

셀렉트 선택자부분을 봐주실수 있나요?

처음에는 이미지부분을 크롬개발자도구에서 copy > copy selecltor 로 해서

나온값을 넣었더니 하나밖에 안되더라고요. 부탁드립니다.

아직도 이 부분이 어렵네요.

웹-크롤링 python

Answer 3

0

Clark

안녕하세요 강사님

저도 질문하신분처럼 잘 안되는데요

ul#course-list > li > a > img 이렇게 수정을 하고 해도

안되네요

두가지 여쭈어보겠습니다

  1. div class="course mycourse"

    이처럼 div 클래스 선택자가 course와 mycourse 2개가 있는 경우는 어떻게

    지정을 해야 하나요. 예)div.course or div.course.mycourse

  2. 선택자 선택시 잘 안될시 print문을 이용해서 선택자 부분을 상위부터 하위로 출력해보시라고 했는데요

    어떻게 하는건지 이해가 안되는데 부탁좀 드립니다.

감사합니다

0

gulungse4383

감사합니다. ^^;;

0

niceman

안녕하세요. 나르샤님

선택자 부분을 확인해보니 실행해보지는 않았지만, ul.course-list > li > a > img 이 부분이

class가 아니라 id로 되어 있는 것 같은데 그렇다면,

ul#course-list > li > a > img

이렇게 바꿔야 되는것같습니다.

또한 잘 안되실 경우에는 print 문을 이용해서 선택자 부분을 상위부터 하위로 출력해보시면서 찾으시면

쉽게 하실 수 있습니다.

선택자 부분은 학습이 많이 필요한 부분이라 PPT에 나와있는 온라인 CSS 선택자 학습 사이트를 방문하셔서

충분히 연습하시면 잘 만드실 수 있을거라 생각됩니다.

감사합니다.

현재 예제에서 error 발생

0

365

3

유튜브 동영상 다운로드

0

1445

2

Atom 에디터 관련

0

337

1

위시켓 폼데이터

0

274

1

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

0

627

1

selenium 에러

0

427

1

Progress bar 쓰레드 관련

0

489

1

Install Package 관련 문의

0

328

1

tkinter 샘플 코드 실행 오류 건

0

1266

1

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

0

380

1

네이버자동로그인_by_selenium

0

874

1

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

0

343

1

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

1

604

3

li:nth-of-type 질문

0

350

2

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

0

401

2

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

0

400

2

환경변수 Path 설정 방법

0

631

1

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

0

332

1

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

0

472

3

download2-8-1. py질문

0

201

1

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

0

639

1

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

0

193

1

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

0

189

1

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

0

581

1