분류 전체보기

    네이버 지도를 통한 맛집 크롤링 : Portfolio

    셀레니움을 사용하게 된 이유 requests로 url 접속 시 껍데기 html만 가져와 selenium 사용 (js로 데이터 전송 받아 페이지 구성하는것으로 확인) 크롭 옵션중 headless를 추가해 보았으나 실제 페이지가 열리지 않으면 js 전송이 안되는것으로 추측 크롤링 로직 이름으로 맛집 검색 (이전 단계에서 생활의 달인, 백종원의3대천왕, 풍자 등 방송 매체에 소개된 음식점들을 크롤링 해 가게명과 주소를 엑셀로 저장함) 같은 상호명의 가게들이 많이 있어 주소로 찾으려는 맛집을 필터링 찾은 맛집을 클릭해 데이터 크롤링 수집 데이터 목록 : 가게명, 주소, 카테고리, 연락처, 네이버평점, 방송정보, 영업시간, place_id, 위경도 수집된 데이터 : 11035개 Issue 구글 구글 지도의 리뷰 ..

    셀레니움 최적화를 위한 chrome_options

    셀레니움은 웹 페이지를 자동화하는 데 사용되는 프레임워크입니다. 셀레니움을 사용하여 웹 페이지를 크롤링하거나 테스트할 때는 성능 최적화가 중요합니다. 성능을 최적화하면 셀레니움 작업을 더 빠르게 수행할 수 있습니다. 셀레니움의 성능을 최적화하는 방법 중 하나는 chrome_options를 사용하는 것입니다. chrome_options는 Chrome 브라우저를 특정 방식으로 구성하는 데 사용할 수 있는 옵션입니다. 셀레니움에서 자주 사용되는 chrome_options는 다음과 같습니다. --headless: 브라우저를 GUI 없이 실행합니다. 이를 통해 브라우저 창이 표시되지 않아 리소스를 절약할 수 있습니다. --disable-gpu: GPU 가속을 비활성화합니다. 일부 시스템에서 GPU 가속이 문제를 ..

    셀레니움에서 이미지 비활성화 : 최적화

    셀레니움을 사용하여 웹 페이지를 크롤링하거나 테스트할 때, 이미지는 페이지 로딩에 큰 영향을 미칠 수 있습니다. 이미지를 비활성화하면 페이지 로딩 시간을 크게 단축할 수 있습니다. 셀레니움에서 이미지를 비활성화하는 방법 중 하나는 Chrome 브라우저 옵션을 사용하는 것입니다. 다음과 같이 사용할 수 있습니다. from selenium import webdriver from selenium.webdriver.chrome.options import Options # Chrome 브라우저의 옵션을 설정 chrome_options = Options() prefs = {"profile.managed_default_content_settings.images": 2} # 이미지를 비활성화하는 옵션 chrome_op..

    셀레니움에서 페이지가 로딩이 될 때까지 기다리는 방법

    셀레니움은 웹 브라우저를 제어하여 자동화된 테스트를 수행하는 데 사용되는 라이브러리입니다. 셀레니움을 사용하여 웹 페이지를 탐색하려면 먼저 해당 페이지가 완전히 로딩되어야 합니다. 셀레니움에서 페이지가 로딩이 될 때까지 기다리는 방법에는 여러 가지가 있습니다. 1. time.sleep() 함수 사용 가장 간단한 방법은 time.sleep() 함수를 사용하는 것입니다. 이 함수는 지정된 시간 동안 코드의 실행을 일시 중지합니다. from selenium import webdriver driver = webdriver.Chrome() driver.get("https://google.com") # 10초 동안 기다립니다. time.sleep(10) # 페이지의 제목을 출력합니다. print(driver.tit..

    문자열 공백 제거하기

    파이썬에서 문자열 공백을 제거하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 다음과 같습니다. 1. strip() 메서드 strip() 메서드는 문자열의 시작과 끝에 있는 모든 공백을 제거합니다. text = " Hello, World! " text.strip() # "Hello, World!" 2. lstrip() 메서드 lstrip() 메서드는 문자열의 시작에 있는 모든 공백을 제거합니다. text = " Hello, World! " text.lstrip() # "Hello, World! " 3. rstrip() 메서드 rstrip() 메서드는 문자열의 끝에 있는 모든 공백을 제거합니다. text = " Hello, World! " text.rstrip() # " Hello, World!" ..

    Pandas에서 SettingWithCopy 에러 발생 원인과 해결 방법

    Pandas는 Python에서 데이터 분석을 위한 강력한 도구입니다. 하지만, Pandas를 사용하면서 종종 발생하는 에러 중 하나가 바로 SettingWithCopy 에러입니다. 이 에러는 무엇이고, 어떻게 해결할 수 있을까요? 1. SettingWithCopy 에러란? SettingWithCopy 에러는 Pandas의 DataFrame 또는 Series에서 값을 변경할 때 발생하는 에러입니다. 이 에러가 발생하는 이유는 DataFrame 또는 Series는 기본적으로 얕은 복사를 수행하기 때문입니다. 얕은 복사는 원본 데이터의 참조를 복사하는 것으로, 원본 데이터가 변경되면 복사본도 변경됩니다. 예를 들어, 다음과 같은 코드를 실행하면 SettingWithCopy 에러가 발생합니다. df = pd.D..

    딕셔너리에 키값을 검사하는 방법

    파이썬 딕셔너리는 키와 값의 쌍으로 구성된 데이터 구조입니다. 딕셔너리에 키값이 있는지 검사하는 방법은 다음과 같습니다. 1. in 연산자 in 연산자를 사용하여 키값이 딕셔너리에 있는지 검사할 수 있습니다. in 연산자의 결과는 True 또는 False입니다. dic = {"name": "John Doe", "age": 30} "name" in dic # True "address" in dic # False 2. get() 메서드 get() 메서드를 사용하여 키값이 딕셔너리에 있는지 검사할 수 있습니다. get() 메서드의 인자로 키값을 지정하면, 키값이 딕셔너리에 있으면 값을 반환하고, 없으면 None을 반환합니다. dic = {"name": "John Doe", "age": 30} dic.get("..

    셀레니움의 키보드 : selenium.webdriver.common.keys

    셀레니움을 사용하여 웹 페이지의 입력 필드에 텍스트를 입력하거나 특수 키를 사용하여 웹 페이지와 상호작용할 수 있습니다. 이러한 기능을 수행하는 데 핵심적인 역할을 하는 것이 바로 selenium.webdriver.common.keys 모듈입니다. 1. 키 입력: send_keys 메서드 활용 WebElement를 찾은 후, send_keys() 메서드를 사용하여 해당 요소에 키 입력을 전송할 수 있습니다. 이 메서드는 텍스트 문자열뿐만 아니라 키보드의 특수 키도 지원합니다. from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys driver..