옵션 |
|
안녕하세요, 이미지 크롤링을 사용하던 도중 개선하고 싶은 부분이 있어 이렇게 질문 올립니다.
이미지 크기와 관련된 문제인데요,
한가지 예시를 위해서 사진을 첨부하겠습니다. 구글에 '구글' 키워드로 검색 한 후 이미지 탭에 들어간 화면입니다.
이미지 탭에서 저는 3번째 이미지를 클릭해서 오른쪽에 큰 이미지로 띄워놓았습니다.
좌측 3번째 이미지에 오른쪽클릭을 하여 사진 저장, 그리고 우측에 띄워놓은 큰 이미지를 우측으로 저장하면
아래와 같은 크기 차이가 발생합니다.
여기서, 저는 아래와 같은 이미지 크기를 추출하고 싶은데,
문제는 특정 한개의 이미지만 추출하는게 아닌 수십개 정도의 이미지를 추출하곤 한다는 점 입니다.
(구글만이 아니라 네이버도 그렇습니다.)
이를 위해서 코드상에서 제가 위에서 해준 동작처럼,
1. 이미지를 클릭 -> 2.우측에 뜬 이미지의 태그를 따서 다운로드 -> 3. 다음 이미지 넘어가기 (키보드 우측화살표 동작을 주면 될 것 같습니다.) -> 4. 우측에 뜬 이미지 태그를 따서 다운로드
이런 작업을 해주어야 할까요? 기존에는 이미지 탭에서 이미지 태그가 스크롤 한 만큼 주르륵 나열되었기 때문에, 그냥 반복문으로 태그를 얻어오는 방식이면 됐었습니다만..
다른 방법이나, 효율적인(?) 무언가가 있나 싶어 질문 올립니다.
혹시나 해서 제 코드중에서 크롤링하는 부분의 코드만 첨부하겠습니다.
html = driver.page_source
soup = BeautifulSoup(html, 'lxml')
img = soup.select('.rg_i.Q4LuWd.tx8vtf')
imgurl = []
for i in img:
try:
imgurl.append(i.attrs["src"])
except KeyError:
imgurl.append(i.attrs["data-src"])