Crawling

    [Crawling] 합법적인 Web Crawling 하는 법

    웹 크롤링이란? 사전적 정의는 웹 페이지를 내 존재하는 데이터를 봇을 사용하여 검색하는 행위, 웹 상에 존재하는 데이터를 자동적으로 탐색하는 행위이다. 크롤링을 하는 가장 흔한 방법은 Python(Beautifulsoup, Selenium) 등이 존재한다. 개인적으로 Selenium을 주로 사용하고 Selenium과 관련된 포스팅은 다음과 같다. 2022.09.09 - [개발💻/Python] - [Python] Selenium 사용하기 [Python] Selenium 사용하기 왜 Selenuim을 사용하지?? 일반적으로 널리 알려진 BeautifulSoup 라이브러리를 사용해도 사이트의 다양한 정보를 추출할 수 있다. 하지만...BeautifulSoup에는 자바스크립트로 동적으로 생성된 정보는 가 bym..

    [Python] Selenium을 사용한 크롤링 제작(2)

    Selenium을 사용한 크롤링 제작(1) 기존 Selenium을 사용하여 만들었던 크롤링에는 치명적인 단점이 하나 존재하였다. 2022.09.07 - [개발💻/Python] - [Python] Selenium을 사용한 크롤링 제작(1) 기존 크롤링의 문제 기존 만들었던 크롤링은 중복 제거 로직이 존재하지 않아 같은 파일도 계속 다운로드되어 실질적으로 원하는 악성 APK 파일을 다운로드 할 수 없었기에 중복 제거 로직을 추가하기로 하였다. 중복 제거 로직 MD5 해시값 비교를 통해 중복 검사를 하기로 결정하여 List 로 선언 후 전체적인 코드를 구현하였다. 하지만, 매번 List가 초기화되어 이전에 다운로드 했던 APK의 MD5 해시값이 누적되는 것이 아니라 그 시점(코드를 돌릴 때)에만 중복제거가 이..

    [Python] Selenium을 사용한 크롤링 제작(1)

    [Python] Selenium을 사용한 크롤링 제작(1)

    Install 일반적인 설치과정과 동일하게 "pip install selenium"을 사용하여 설치할 수 있다. Import import requests from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import time Code "봇이 아니라 사람이야"를 알려주기 위해 user_agent를 추가한 후 webdriver 객체를 생성한다. (webdriver를 동일 경로 내에 위치시켜 별도의 경로 지정 코드는 추가하지 않았다.) user_a..