inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Python cơ bản và tạo nhiều ứng dụng tự động hóa khác nhau bằng cách sử dụng web crawling

Thực hành giao tiếp requests (Xử lý đăng nhập) Nâng cao (1) - Ruliweb, Inflearn

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

370

gulungse4383

5 câu hỏi đã được viết

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

Câu trả lời 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

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

344

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

333

1

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

0

475

3

download2-8-1. py질문

0

203

1

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

0

645

1

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

0

196

1

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

0

190

1

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

0

584

1