inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

i의 값에 따라서 다른 태그로 가져오는게 이해가 잘 안됩니다

199

kshssi

작성한 질문수 12

1

i값에 따라서 target 값의 리스트중에 0번과 1번을 불러오는부분에서 

 

i값은 전체 고양이 섬네일 이미지 갯수의 숫자 일탠데 

2번째 고양이 이미지부터는 i가 2,3,4,.....

이렇게 반환되는거 아닌가요?

 

반대로 i가 고양이 섬네일 이미지 안에서의 큰 이미지 태그의 갯수라면 마지막에 파일 이미지명은 어떻게 순차적으로

1, 2, 3, 4, .... 이렇게 나오는거죠?

웹-크롤링 python

답변 1

0

스타트코딩

안녕하세요.

코딩을 가장 쉽게 알려주는 크리에이터 스타트코딩입니다. 

 

for i, img in enumerate(imgs, 1):
    # 이미지를 클릭해서 큰 사이즈를 찾아요
    # 클릭하다보면 element click intercepted 에러가 나요
    # javascript 로 클릭을 직접 하도록 만들어주면 됩니다.
    browser.execute_script("arguments[0].click();", img)
    time.sleep(1)

    # 큰 이미지 주소 추출
    if i == 1:
        target = browser.find_elements_by_css_selector("img.n3VNCb")[0]
    else:
        target = browser.find_elements_by_css_selector("img.n3VNCb")[1]

    img_src = target.get_attribute('src')

    # 이미지 다운로드
    # 크롤링 하다보면 HTTP Error 403: Forbidden 에러가 납니다.
    opener = urllib.request.build_opener()
    opener.addheaders = [('User-Agent', 'Mozila/5.0')]
    urllib.request.install_opener(opener)
    urllib.request.urlretrieve(img_src, f'06_구글_이미지_크롤링/파이썬/{i}.jpg')

 

i는 이미지의 번호입니다.

imgs 리스트의 첫번째 원소 = 1

imgs 리스트의 두번째 원소 = 2

 

이렇게 가죠

그래서 마지막에 이미지를 저장할 때도 {i}.jpg 로 저장하니

1.jpg 2.jpg 로 저장 됩니다. 

 

 

감사합니다. 

좋은 하루 되세요 ^^

- 스타트코딩 드림.

 

셀레니움 환경설정 오류

0

80

2

네이버 로그인 관련

0

370

2

안녕하세요 셀레니움에 대해서 질문

0

105

1

크롤링 연습사이트 문의

0

122

2

선택자 질문

0

89

2

'특정 요소가 나타날 때까지 스크롤' 부분 에러

0

91

2

자동 로그인 질문

0

107

2

44강 제목, 링크

0

115

1

원하는 값이 없을 때

0

106

2

크롤링한 링크가 엑셀로 들어가면 작동이 안되요

0

252

2

셀레니움 PDF자료는 받을 수 있나요

0

108

2

글목록 추출하기

0

111

2

메일 자동화 로그인 중복방지문자해결 오류 및 명시적 대기 질문

0

100

2

강의 노트가 어디에 있는건가요?

0

82

2

강의 커리큘럼 질문

0

112

1

조건문 else 사용하지 않는 이유

0

84

2

셀레니움으로 접근할 수 없는 경우

0

109

2

웹페이지 변경

0

84

2

자바스크립트로 태그 선택 시 질문입니다.

1

72

2

수료증은 어떻게 받나요?

0

129

2

class명을 활용하여 선택자를 만들지 않는 경우..?

0

67

2

드라이버가 안 열려요

0

90

2

이거 해결방법 아시는 분?

0

124

2

네이버 지식인 크롤링..

0

217

2