본문 바로가기

파이썬111

크롤링 예제 1 □ 사용 라이브러리 ○ requests : 웹페이지 가져오기 라이브러리 ○ bs4(BeautifulSoup) : 웹페이지 분석(크롤링) 라이브러리 #라이브러리 임포트 import requests from bs4 import BeautifulSoup #웹페이지 가져오기 requests.get() bring_web = requests.get('https://sports.news.naver.com/news?oid=477&aid=0000464871') #웹페이지 파싱하기 #.content, 'html.parser' html 관련 태그를 파싱해주는 함수) parsing = BeautifulSoup(bring_web.content,'html.parser') print(parsing) #필요 데이터 추출 mydata.. 2023. 12. 19.
셀레니움(Selenium) 기본예제 : naver 쇼핑 특정상품 위치 □ 목표 : 특정 키워드 상품에 대한 naver 쇼핑 위치(순서)를 조회/출력 → 자신이 판매하는 상품의 순서(순위)를 파악 가능함 □ 필요사항 ○ 상품별 고유값을 분석 후 임의로 특정 상품에 대한 고유값을 검색하여 해당 상품의 위치 출력 ○ 자동 스크롤기능 → 조회하고자하는 글이 없을시 자동으로 스크롤하여 내려가기 위함임 □ Khow_How ○ URL 분석 : 주소상에서 키워드 값 또는 페이지네이션 값을 넣는 패턴 확인 ○ 고유값을 갖는 마땅한 키값이 없다면 개발자 도구에서 모바일 화면 사이즈로 변환 후 다시 개발자 도구를 킨 후 숨겨진 키값을 탐색할 것 *PC 및 모바일 화면별 키값이 다른 경우가 있음 *해당 코딩 및 특정상품 선정은 글쓴이 임의로 지정하였음 #셀레니움 창 생성을 위한 라이브러리 호출.. 2023. 12. 14.
셀레니움(Selenium) 기본예제 : naver view 특정글 위치 □ 목표 : 특정 키워드에 대한 특정 view 글의 위치(순서)를 조회/출력 □ 필요사항 ○ 조회 출력하고자하는 view 글의 a태그 링크 ○ 위 a태그 링크를 포함한 부모태그 값 → 게시글별 패턴 확인 ○ 자동 스크롤기능 → 조회하고자하는 글이 없을시 자동으로 스크롤하여 내려가기 위함임 ※ naver view는 기본 디폴트로 30개씩 게시글을 보여줌 없다면 스크롤을 해야하며, 스크롤시 자동으로 다음 글이 보여짐 #셀레니움 창 생성을 위한 라이브러리 호출 실행 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from se.. 2023. 12. 13.
셀레니움(Selenium) 기본기능 □ 기본 기능 □ 초기설치 및 실행시 import library #셀레니움 창 생성을 위한 라이브러리 호출 실행 from selenium import webdriver from selenium.webdriver.common.by import By import chromedriver_autoinstaller import time #사용자 PC 상의 크롬에 맞는 드라이버 설치 chromedriver_autoinstaller.install() ○ 특정 페이지 접속후 특정영역에서의 텍스트 출력 - CSS SELECTOR를 활용하여 특정영역에 포함된 텍스트를 출력하도록 진행 - XPATH를 활용하여, XPATH 특정영역 클릭(현재 코드기준 스포츠) *지속적으로 업데이트를 하는 웹사이트를 대상으로 진행한다면 지정된.. 2023. 12. 12.
셀레니움(Selenium) □ 셀레니움(Selenium)의 핵심원리 ○ 웹 브라우저 컨트롤 ○ 크롬창을 코드로 제어하는 것 ○ 화면에서 보이는 모든 요소를 제어가능함 □ find_element 데려오는것 + 개발자도구(F12) 아이콘 찾는법 을 주로 활용 ○ (data) 데이터를 가져온다 ○ (action) 그 요소를 클릭한다 □ 가상환경 세팅후 지정 가상환경에서 필요 패키지 설치 pip install selenium chromedriver_autoinstaller tip1) 크롤러 : 데이터 수집 비중이 큼 tip2) 자동화 : 사용자 대신 일하는 비중이 큼 tip3) PC 또는 가상환경폴더에 셀레니움 라이브러리가 설치되어 있지 않다면 오류가 발생됨 따라서 설치 및 확인 후 진행할 것 https://selenium-python... 2023. 12. 11.
파이썬 개발환경세팅 : 가상환경(Virtual Environments) □ 가상환경(Virtual Environments) ○ 독립적인 실행환경을 의미함 ○ 가상환경을 미리 세팅하여 프로젝트별 패키지만을 설치하여 관리할 필요가 있음 ○ 가상환경은 다른 환경에 영향을 미치지 않으며 프로젝트별 다른 종류 및 버젼에대한 패키지를 사용할 수 있음 □ 가상환경(Virtual Environments) 세팅방법 (VS CODE기준) ○ 가상환경 설치 : pip install virtualenv ○ 가상환경 폴더지정 : cd test_folder * test_folder 예시를 든것이므로 사용자가 원하는 폴더명을 지정할 것 ○ 가상환경 활성화 : test_folder/Scripts/activate ※ Unauthorized Access 에러 발생시 ▶ Powershell 실행 ▶ Set-.. 2023. 12. 11.
라이브러리 호출 및 활용 □ 라이브러리 : 미리 만들어 놓은 함수 집합이며 이름이 있음 ○ 함수는 언제나 원할때 호출하여 활용 ○ 이러한 함수를 모아놓은 것이 라이브러림 ○ 형태(1) 라이브러리 호출 import 라이브러리명 라이브러리명.함수명() *import 라이브러리명* 로 라이브러리를 호출하면 라이브러리명.함수명() 대신 함수명()만 사용하여 라이브러리의 기능 활용가능 #라이브러리 호출 import math #라이브러리명.함수 형식으로 함수호출 및 활용 #math라이브러리에 저장된 지수승을 구하는 pow 메서드 활용 num = math.pow(3,3) print(num) #math라이브러리에 저장된 팩토리어을 구하는 pow 메서드 활용 num1 = math.factorial(6) print(num1) ○ 형태(2) 라이브.. 2023. 12. 11.
클래스/객체지향 □ 절차지향과 객체지향 프로그래밍 ○ 절차지향 프로그래밍 : 1990년대 이전 언어는 대부분 절차지향 프로그래밍 - 파스칼, 코블, 포트란, C언어 등 - ex) 냉장고에 코끼리를 넣는다 냉장고 문을 연다 코끼리를 냉장고에 넣는다 냉장고 문을 닫는다 ○ 객체지향 프로그래밍 - class : 해당 사물을 나타낼수 있는 설계도를 만듬 - object : 해당 사물의 설계도로를 기반으로 사물객체를 만듬(객체의 속성/변수과 함수정의) - attribute, method : 사물 객체의 기능을 호출 (attribute : 사물 객체의 변수 / method : 사물 객체의 함수) - ex) 코끼리라는 사물의 기능, 정보관련 설계도를 만듬 만들어진 설계도 기반으로 코끼리 객체 만듬 냉장고라는 사물의 기능, 정보관련 .. 2023. 12. 11.
함수 정의/호출 예제 #예제 : hello fun python을 출력하는 함수를 정의하고 호출 #함수정의 def hello_msg(): print('hello!fun!python!') #함수호출 hello_msg() #예제 : 특정 문자열을 넣으면 출력하는 함수 정의 및 호출 #함수정의 def print_msg(a): print(f'input_word\t:\t{a}') #함수호출 print_msg('hello world') #예제 : 임의 숫자 3개 인자를 넣은후 세 숫자를 더한 값을 출력해주는 함수 #함수정의 def math_sum(a,b,c): print(f'합계\t:\t{a+b+c}') #함수호출 math_sum(10,2,3) #예제 : 복수개의 숫자를 인자로 넣으면 인자끼리 곱셈을한 결과를 출력하는 함수를 만들고 해당.. 2023. 12. 8.