loading
본문 바로가기

etc

인생 첫 크롤링! 파이썬 실시간검색어, 이미지 크롤링하는 법


네이버 밴드 공유 카카오톡 공유


안녕하세요? 오늘의 공부입니다.

이번 시간에는 파이썬을 이용해서 실시간 검색어연예인 사진을 구글에서 크롤링하는 프로그램을 만들어보겠습니다.

코딩을 잘 모르시는 분들도 충분히 하실 수 있습니다. 인생 첫 크롤링이어도 좋습니다!

조코딩 유튜브에서 수익형 웹, 앱 서비스 동물상 테스트 만들기 시리즈에 들어가셔서 '1강. 파이썬으로 텍스트 및 이미지 크롤링' 영상을 보시면 틀을 이해하실 수 있습니다. 코드 작성할 때만 최신 정보인 이 글을 참고하시면 됩니다. 또한, 파이썬 파일을 첨부해놓았으니, 코드를 작성하시는 게 번거롭고 '일단 프로그램부터 만들고 싶다!' 하시는 분들이라면 다운받으셔서 크롤링을 하실 수 있습니다.

 

용어 정리


* 파이썬 뜻: 프로그램을 만들 수 있는 도구(언어)

* 크롤링 뜻: 인터넷에서 정보를 자동으로 가져오는 것을 의미합니다. 예를 들자면 일일히 연예인 사진을 저장할 필요 없이 프로그램만 돌리면 바로 연예인 사진들을 엄청 많이 저장하실 수도 있고 제가 직접 글을 베껴쓰기 귀찮을 때 특정 텍스트만 자동으로 베껴서 저장하실 수도 있습니다. 여담으로, 블로그로 수익을 얻을 수 있는 쿠팡파트너스와 연동해 자동으로 글과 이미지를 베껴와서 블로그 글을 써주는 자동화 포스팅 프로그램이 한동안 유행하기도 했죠. 이것도 크롤링 기술을 활용한 것이랍니다.

 

준비물


* 구름ide (ide.goorm.io)에 들어가셔서 로그인을 하고 새 파이썬 컨테이너를 시작해주세요. (그냥 파이썬 프로그램을 다운받으셔도 됩니다. 만약, 파이썬 프로그램을 다운받으셔서 이용하실 경우 아래 코드에서 파일이 저장되는 경로만 수정해주시면 됩니다. 파일 저장 주소는 컴퓨터에서 원하는 폴더 주소창을 복사해서 사용하시면 됩니다.)

참고로 구름 ide에 파이썬을 설치하시면 웹으로 파이썬을 이용하실 수 있습니다. 즉, 웹파이썬이 되는 거죠.

 

1. 텍스트 크롤링하기 (실시간 검색어 크롤링)


조코딩님의 영상에서는 네이버 실시간 검색어를 크롤링하는 방법이 나왔는데요, 같은 방법으로 네이버 실시간 검색어를 크롤링하는 것은 이제 좀 더 복자배져서 줌이라는 검색엔진의 실시간 검색어를 크롤링해보도록 하겠습니다.

줌의 실시간 검색어를 크롤링하기 위해서는 우선, bs4라는 라이브러리를 설치해야 합니다.

터미널에 bs4 라이브러리 설치 명령을 입력해주세요. 명령은 다음과 같습니다.

pip install bs4

 

파이썬에 bs4 라이브러리가 다 설치되셨다면 이제 아래와 같은 코드를 작성해주세요.

여기에서 urlopen에 있는 것은 제가 찾고 싶은 검색엔진의 웹 주소입니다.

from bs4 import BeautifulSoup
from urllib.request import urlopen

response = urlopen('https://m.search.zum.com/search.zum?method=uni&option=accu&qm=f_typing.top&query=')
soup = BeautifulSoup(response, 'html.parser')
i = 1
f = open("새파일.txt", 'w')
for anchor in soup.select("span.keyword"):
    data = str(i) + "위 : " + anchor.get_text() + "\n"
    i = i+1
    f.write(data)
f.close()

 

위 코드를 그대로 입력하시면 잘 작동할 겁니다.

잘 작동하는지 확인하기 위해 터미널에 파이썬 프로그램을 실행하는 명령을 입력해봅시다. 실행 명령은 다음과 같습니다.

python 파일이름.py

 

결과물의 모습입니다. 실시간 검색어 순위가 잘 크롤링이 되어있네요.

 

아래에 첨부파일을 남겨놓았으니, 이것을 복사해도 되고 불러와도 되고 자유롭게 사용하시면 됩니다. 바이러스 없습니다.

index.py
0.00MB

 

2. 이미지 크롤링하기 (구글 연예인 사진 크롤링)


이제 구글 검색엔진을 이용해서 연예인 사진을 크롤링하는 프로그램을 만들어보겠습니다.

우선, 기존에 구글 이미지 다운로드 라이브러리를 받았다면 지우셔야 합니다. (구글 이미지 다운로드 라이브러리를 설치하신 적이 없다면 지우지 않으셔도 됩니다.)

pip uninstall google_images_download

 

그리고 다음과 같은 설치 명령을 이용해 Joeclinton1님께서 만든 최신 구글 이미지 다운로드 라이브러리를 받습니다.

pip install git+https://github.com/Joeclinton1/google-images-download.git

 

라이브러리를 다 받으셨다면 아래와 같이 코드를 입력해주세요.

저는 키워드를 아이린, 블랙핑크 지수, 아이즈원 장원영 세 가지로 정하고 각각 20장씩의 jpg 이미지 파일을 다운로드받게 했습니다.

from google_images_download import google_images_download 

response = google_images_download.googleimagesdownload() 

arguments = {"keywords":"아이린,블랙핑크 지수,아이즈원 장원영","limit":20,"print_urls":True, "format": "jpg"}   #creating list of arguments
paths = response.download(arguments) 
print(paths) 

 

그럼 결과를 볼까요?

아이린, 블랙핑크 지수, 아이즈원 장원영 모두 20장씩 이미지가 잘 다운받아졌군요!

 

역시 아래에 첨부파일을 남겨 놓았으니 이것을 이용해주셔도 됩니다.

google.py
0.00MB