크롤링 시작 - 프로젝트 설정 - 파이썬 환경 설정

IT/크롤링 2024. 12. 25. 00:54

프로젝트 설정을 위한 파이썬 기본 설정

 

파이썬 버전: 3.11

OS: mac

 

파이썬 가상 환경 사용

가상 환경 생성 명령어:  python3 -m venv [가상환경이름]

가상 환경 생성 시, 현재 디렉터리에 가상환경이름으로 폴더가 생성됨

 

파이썬 가상환경 활성화 명령어: source [가상환경이름]

 

파이썬 가상환경 비활성화 명령어: deactivate

 

 

크롤링을 위한 라이브러리 설치

pip3 install selenium

설치한 셀레니움 버전: 4.27.1

 

동작 확인을 위한 라이브러리 테스트 코드

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

driver.get("https://www.selenium.dev/selenium/web/web-form.html")

driver.implicitly_wait(0.5)

title = driver.title

text_box = driver.find_element(by=By.NAME, value="my-text")
submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button")

text_box.send_keys("Selenium")
submit_button.click()

message = driver.find_element(by=By.ID, value="message")
text = message.text

print(text)

driver.quit()

 

 

프로젝트 목적

인스타 데이터 크롤링 연구

개인 연구 목적 데이터 수집 방안 연구

 

 

구현 기능 목록

1. 검색어에 대한 포스트 수집

2. 해시태그로 등록된 포스트 수집

 

 

 

셀레니움에 대한 설명

Selenium이란?

Selenium은 웹 애플리케이션을 자동으로 테스트하고 상호작용하기 위해 사용되는 오픈 소스 툴입니다. 주로 브라우저 자동화를 목적으로 개발되었으며, 여러 브라우저와 플랫폼에서 작동합니다.

Selenium의 주요 구성 요소

  1. Selenium WebDriver
    • 브라우저를 직접 제어할 수 있는 강력한 인터페이스입니다.
    • 다양한 프로그래밍 언어(예: Python, Java, C# 등)를 사용하여 테스트를 작성할 수 있습니다.
    • Chrome, Firefox, Safari 등 주요 브라우저와 호환됩니다.
  2. Selenium IDE (Integrated Development Environment)
    • Selenium의 간단한 레코딩 및 재생 기능을 제공하는 브라우저 확장 도구입니다.
    • 코드 작성 없이 테스트를 생성할 수 있습니다.
    • 초보자에게 적합합니다.
  3. Selenium Grid
    • 여러 브라우저, 여러 시스템에서 테스트를 병렬로 실행할 수 있는 도구입니다.
    • 대규모 테스트 실행에 적합합니다.

Selenium의 특징

  • 오픈 소스: 누구나 무료로 사용할 수 있습니다.
  • 다양한 프로그래밍 언어 지원: Java, Python, JavaScript, C#, Ruby 등 다양한 언어로 테스트 스크립트를 작성할 수 있습니다.
  • 멀티 플랫폼 지원: Windows, macOS, Linux 등 다양한 운영 체제에서 실행 가능.
  • 멀티 브라우저 지원: Chrome, Firefox, Safari, Edge 등 거의 모든 주요 브라우저를 지원합니다.

Selenium의 활용 사례

  1. 웹 애플리케이션 테스트: 프런트엔드 기능을 자동으로 테스트합니다.
  2. 반복적인 작업 자동화: 브라우저 기반의 반복 작업을 자동으로 처리할 수 있습니다.
  3. 개발 중 QA 프로세스 개선: 개발 단계에서 품질 보장을 위한 테스트 자동화를 구현합니다.

 

 

데이터 크롤링에 대한 경고 사항

여러 사이트에서는 대부분 데이터 수집툴을 사용하여 데이터를 수집하는 경우 이를 제한하고 있지만, 상업적인 목적이 아니라면 어느 정도의 선은 묵인 하는 듯 하지만, 과도한 데이터 수집은 제제가 가해질 수 있어 보인다.

모든 크롤링 행위에대한 제재를 가하는 건 현실적인 어려움이 있는 것 또한 사실인듯 하지만, 과도한 선을 넘어선 데이터 수집과 상업적 이용은 여러 소송 사례를 찾아볼수 있다.