본문 바로가기
카테고리 없음

조코딩 - 파이썬으로 텍스트 및 이미지 크롤링 하기

by cook_code 2022. 11. 7.
반응형
조코딩 유튜브 영상

목차

  1. 환경설정 - 파이썬 개발 환경 설정(구름 IDE)
  2. 원하는 사이트 크롤링하여 텍스트 저장
  3. 이미지 크롤링 라이브러리 사용

개념

🤷‍♀️ 크롤링이란?
크롤링이란 웹 상에 존재하는 데이터를 자동적으로 탐색하는 행위
크롤링 = 파싱 = 스크래핑 = 스파이더링
방대한 양의 데이터빠르게 수집 가능하다는 장점이 있다.

1. 환경설정

구름IDE - 설치가 필요없는 통합개발환경 서비스

구름IDE는 언제 어디서나 사용 가능한 클라우드 통합개발환경(Integrated Development Environment IDE)을 제공합니다. 웹브라우저만 있으면 코딩, 디버그, 컴파일, 배포 등 개발에 관련된 모든 작업을 클라

ide.goorm.io

통합개발환경을 활용하면 복잡하게 파이썬을 설치하지 않고도 크롤링 예제 구현이 가능하다.

  • 구름 IDE 회원가입
  • 새 컨테이너 만들기 (컨테이너 이름(crawling), 공개범위(public), 개발언어(python), 자막(한국어)로 설정 후 생성)
  • index.py 자동생성 확인, 실행창에 python index.py 입력 후 "Hello Python" 출력되는지 확인

2. 텍스트 크롤링

  • BeautifulSoup 검색 - 우측 위키백과 클릭 - 예시 코드 복사
#!/usr/bin/env python3
# Anchor extraction from HTML document
from bs4 import BeautifulSoup
from urllib.request import urlopen
with urlopen('https://en.wikipedia.org/wiki/Main_Page') as response:
    soup = BeautifulSoup(response, 'html.parser')
    for anchor in soup.find_all('a'):
        print(anchor.get('href', '/'))
  • 복사한 텍스트 index,py에 붙여 넣기
  • 원하는 url로 변경 -> 네이버 뉴스 IT/과학
  • BeautifulSoup 사이트 접속, 원하는 데이터의 태그 찾는 법 확인 → span태그, class이름 : cluster_head_sub_topic
  • python text file write 검색

04-3 파일 읽고 쓰기

우리는 이 책에서 이제까지 값을 입력받을 때는 사용자가 직접 입력하는 방식을 사용했고 출력할 때는 모니터 화면에 결괏값을 출력하는 방식으로 프로그래밍해 왔다. 하지만 입출…

wikidocs.net

  • 파일을 쓰기 모드로 열어 출력값 적기 복사하기
# writedata.py
f = open("C:/doit/새파일.txt", 'w')
for i in range(1, 11):
    data = "%d번째 줄입니다.\n" % i
    f.write(data)
f.close()
  • 다음과 같이 수정
  • '새파일' 생성되는지, 원하는 데이터가 텍스트로 저장되는지 확인

패키지 관리자 PIP


💖 pip란?
파이썬으로 작성된 패키지 소프트웨어를 설치·관리하는 패키지 관리 시스템이다.
💖 패키지 개념
PPT를 만들기 위해서는 PPT 프로그램을 깔아야 실행이 가능한 것과 같은 맥락

3. 이미지 크롤링

  • python google image search and download 검색
  • 구글 이미지 크롤링 라이브러리 사용하기

google_images_download

Python Script to download hundreds of images from 'Google Images'. It is a ready-to-run code!

pypi.org

  • 해당 사이트에서 pip install google_images_download 복사 후 실행창에 붙여넣기
pip install google_images_download

Examples — Google Images Download  documentation

Examples Link to GitHub repo Link to Documentation Homepage Link to Input arguments or parameters Config File Format You can either pass the arguments directly from the command as in the examples below or you can pass it through a config file. Below is a s

google-images-download.readthedocs.io

  • code sample 복사하기
from google_images_download import google_images_download   #importing the library

response = google_images_download.googleimagesdownload()   #class instantiation

arguments = {"keywords":"Polar bears,baloons,Beaches","limit":20,"print_urls":True}   #creating list of arguments
paths = response.download(arguments)   #passing the arguments to the function
print(paths)   #printing absolute paths of the downloaded images
  • 새 파일 - google.py - 복사한 코드 붙여 넣기
  • 키워드와 수집할 이미지 개수(limit)를 수정하여 원하는 데이터를 원하는 만큼 모아보기

실행 시 파일 생성은 되지만 이미지 다운로드가 안된다면,

  1. 기존 라이브러리 삭제
pip uninstall google_images_download

2. 수정 라이브러리 설치

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

3. 재실행

python google.py

4. 정상 다운로드 확인

참고 사이트

- 크롤링 시 태그 찾기 참고 사이트

[Python] BeautifulSoup 사용하기

웹 크롤러를 만들거나 html에서 필요한 정보를 검색할 때, BeautifulSoup 라이브러리를 사용하여 편리하게 코딩할 수 있습니다.설치$ pip3 install beautifulsoup4beautifulsoup에는 기본적으로 파이썬 표준라이

brownbears.tistory.com

반응형