크롤링을 위해 셀레늄 라이브러리를 설치해줍니다.
시작 + r 을 누른 뒤 cmd 를 치면 콘솔 창이 나옵니다.
콘솔 창에 설치 명령어를 입력해줍니다.
pip install selenium
설치가 완료 되었다면 selenium 라이브러리를 사용할 수 있습니다
이제 크롬에서 사진을 받아오기 위해 크롬과 크롬 드라이버를 다운로드 해줍니다.
크롬 다운로드는 아래에서 할 수 있습니다.
https://sites.google.com/a/chromium.org/chromedriver/downloads
이 전에 크롬 버전을 확인하고 맞는 버전으로 다운로드 해줍니다.
크롬 오른쪽 상단에 메뉴 버튼을 누르시고
도움말 > Chrome 정보에 들어가면 무슨 버전인지 확인할 수 있습니다.
자신의 OS 에 맞게 다운로드 합니다.
저는 최신 윈도우 버전으로 받았습니다.
이제 다운로드를 하고 압축을 풀면 chromdriver.exe 라는 파일이 나옵니다.
이 파일을 저장하고 경로를 파악해서 셀레늄을 사용 시에 입력합니다.
절대 경로 또는 상대 경로로 이용을 합니다.
이제 파이참에서 코딩을 시작합니다.
File > Open 에서 크롬드라이버가 있는 폴더를 선택해줍니다.
이제 소스코드를 쳐봅니다.
# 내장함수
from urllib.request import urlopen
# 명령행 파싱 모듈로 argparse 모듈 사용
import argparse
# request => 웹에 요청한 결과 값을 얻어올 수 있는 모듈
import requests as req
# 웹에다 요청한 결과를 보내는 모듈
from bs4 import BeautifulSoup
parser = argparse.ArgumentParser()
#argparse 모듈에 ArgumentParse() 함수 사용하여 parser 생성
parser.add_argument("-name", "--people", required=True)
# 명령행 옵션을 지정하기 위해 사용. 명령행 옵션 인자는 -name으로 지정함
args = parser.parse_args()
#parse에 add_argument()함수 사용해 args 인스턴스생성
people = args.people
# 명령행에서 받은 인자값을 people에 값을 넘겨줌
def main():
# 구글 url https://www.google.co.kr/search?q=%EB%B2%A4&tbm=isch
url_info = "https://www.google.co.kr/search?"
#params에다 딕션을 넣어줌
params = {
#명령행에서 받은 인자값을 people로 넣어줌
"q" : people,
"tbm":"isch"
}
#url을 요청하는 파싱값
html_object = req.get(url_info,params) #html_object html source 값
if html_object.status_code == 200:
#페이지 status_code 가 200 일때 2XX 는 성공
bs_object = BeautifulSoup(html_object.text,"html.parser")
#인스턴스를 생성
img_data = bs_object.find_all("img")
#인스턴스에서 find_all 이라는 함수에 img 태그가 있으면 img_data에 넣어줌
for i in enumerate(img_data[1:]):
#딕셔너리를 순서대로 넣음
t = urlopen(i[1].attrs['src']).read()
filename = "img_"+str(i[0]+1)+'.jpg'
with open(filename,"wb") as f:
f.write(t)
print("Img Save Success")
if __name__=="__main__":
main()
코드를 작성했으면 콘솔 창에 들어갑니다.
실행을 위해 명령행 인자를 써줘야 합니다.
Tips:
ModuleNotFoundError: No module named 'requests'
해당 모듈을 pip로 설치해주면 되는데, pip.exe 환경에 path 가 설정된 곳에서 설치를 해줍니다.
pip install requests
Install OpenCV in Ubuntu (0) | 2019.09.05 |
---|---|
주피터 환경 설정하기 (0) | 2019.08.12 |
파이참 (Pychram) 초기 개발환경 설정하기 (0) | 2019.08.06 |
머신러닝이란 무엇인가? 머신러닝의 개요 (0) | 2019.08.04 |
머신러닝, 딥러닝 기초 아나콘다 및 파이토치 (Pytorch) 설치 (0) | 2019.08.03 |
댓글 영역