bs4 soup으로 이미지 긁어 올 때 내가 몰랐던 것.(해결)

1. 어떤 오류가 발생?


line 1486, in __getitem__
    return self.attrs[key]
KeyError: 'src'
ne 1486, in __getitem__
    return self.attrs[key]
KeyError: 'img'

어떻게든 이미지 주소 끌어오겠다고 src 주세요 img 주세요 하는 내 모습니다.

2. 왜 오류가 발생?


크롬 검사에서 copy selector로 bs4에 넣고 돌릴 부분을 복사해 왔는데 너무 성급하게 이미지 div를 싹다 가지고 와버렸다.

<div class="">
  <div class="" style="">
    <div class=""><div class="">
      <meta itemprop=""/>
      <meta content="" itemprop="license"/>
      <a class="" data-id="" href="">
        <img alt="" **src**="" style=""/>
      </a>... 중략

3. 어떻게 해결 하였는가?


리스트를 반복문으로 뽑아 오는 것이라 다른 태그들로 둘러 쌓여있어서 오류가 나는 것이라고 생각했다. (구글 검색해보며 혼자 생각)
그래서 개발자도구에서 이미지만 나타내는 태그 하나가 남을때까지 끝까지 추적하고 경로를 설정해줬다.

mage = soup.select('#app > div > div:nth-child(4) > div > div > div.results--efirA > div > div > div > div"여기서 반복 발생했다" > div > a > img')

4. 결과


"저작권 없는 이미지 사이트에서 연습"

좋은 웹페이지 즐겨찾기