본문 바로가기

728x90
반응형

프로그래밍&IT/파이썬

(8)
[파이썬] 웹 스크래핑.7 - Selenium 활용. "구글 무비" (동적페이지) 정보 수집 "구글 무비"에서 정보 수집 스크롤내리면 데이터를 가져와서 로딩하는 동적 페이지에서 정보를 수집하는 방식을 확인한다. Selenium 사용 전. requests 사용한 단순 수집 - 현황 & 문제점 파악 import requests from bs4 import BeautifulSoup url = "https://play.google.com/store/movies/top" # 받을 언어 headers = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36" , "Accept-Language": "ko-KR, ko" } res ..
[파이썬] 웹 스크래핑.6 - Selenium 추가 내용 , 메서드, 속성 Selenium 추가 내용 & 활용 브라우저가 모두 로딩이 안 되어있다면 버튼 수행을 할 수가 없으므로, 일정 시간대 기후, 버튼 클릭을 하는 내용 ### 기본 내용 from selenium import webdriver browser = webdriver.Chrome() browser.maximize_window() # 브라우저 최대화 url = "[이동할 사이트 url]" browser.get(url) ### from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC ..
[파이썬] 웹 스크래핑.5 - Selenium 기본 Selenium ? 자동화된 웹 테스트를 수행할 수 있도록 해주는 프레임워크. 아파치 라이선스하에 오픈소스로 자유로이 이용이 가능. 기존 크롤러와는 달리, 로그인 수행이나 설문조사에 참여할 수 있게 하기 도하는 등 웹에서의 작업을 대신 맡길 수 있다. 1. 먼저 설치되어 있는 크롬에 맞는 Driver를 download해야한다. 1) 설치되어있는 크롬의 버전을 알기 위해서, 주소창에 " chrome://version "을 입력 2) 도움말 -> 크롬 정보 2. 크롬 드라이버 다운로드 ( 다운로드 사이트 이동) 다운로드 사이트에 이동한 후에, 설치된 크롬에 맞는 버전의 드라이버를 다운로드하고, python 프로젝트 파일에 위치시킨다. 3. 셀레니움 설치 터미널 창에서 "pip install Selenium"..
[파이썬] 웹 스크래핑.4 - CSV 기본 * 시가총액 상위 구하기 (naver > 증권 > 시가총액) url = https://finance.naver.com/sise/sise_market_sum.naver?&page=2 (첫번째 ; https://finance.naver.com/sise/sise_market_sum.naver 이지만, &page =1 해도 동일한 결과 ) 여기선 1~5까지의 페이지만 구하기로 한다. (필요하면 계속 구할수있지만) 종목들과 정보가 있는 table (class는 type_2) 에 있는 항목들을 찾는다 필요없는 정보는 (공백 들) 필터링해서 필요한 정보만 받는다 csv로 저장하기위한 file 준비를 한다. * source import csv import requests from bs4 import BeautifulS..
[파이썬] 웹 스크래핑.3 - BeautifulSoup4 - 2. find_all [+ http 메소드:get,post] BeautifulSoup4 find_all() : 해당 조건에 해당하는 모든 걸 가져오기 태그 , class가 "title"인 것들 가져오기 # 공통 부분 ~ import requests from bs4 import BeautifulSoup url = "https://comic.naver.com/webtoon/weekday" res = requests.get(url) res.raise_for_status() soup = BeautifulSoup(res.text, "lxml") # ~ 공통 부분 ### 목록 가져오기 toons = soup.find_all("a", attrs={"class": "title"}) for toon in toons: print(toon.get_text() ) HTTP method..
[파이썬] 웹 스크래핑.3 - BeautifulSoup4 - 1. 설치 및 기본적인 찾기 User Agent HTTP 요청을 보내는 디바이스와 브라우저 등 사용자 s/w의 식별 정보를 담고 있는 request header의 한 종류. 보통 http 요청 에러 발생시 요청을 보낸 사용자 환경을 알아보기 위해 사용 기본 형태 : User-Agent: / ex) 크롬의 경우 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36 활용 : User Agent 정보를 기반으로 특정 브라우저에서만 다르게 동작하도록 하거나 할 때 등 BeautifulSoup4 진행 BeautifulSoup4 설치 및 기본 활용 터미널에서 "pip install beautifulsoup4"..
[파이썬] 웹 스크래핑.2 - 정규 표현식 (regular expression) 정규 표현식 (Regular expression, 간단히 regexp, regex) 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어 ex) 주민 등록 번호 , 이메일 주소 aa@a.com , IP 주소 체계 등 파이썬 정규표현식 라이브러리 : re comple(패턴) : 패턴 입력 match (문자열) : 주어진 문자열로 확인 group() : 일치하는 문자열 반환 import re p = re.compile('ca.e') # . : 하나의 문자 의미. (ca.e) > care, case 등 # ^ : 문자열의 시작. (^de) > desk, dest 등 # $ : 문자열의 끝. (se$) > base, case 등 m = p.match("case") # print(m.group())..
[파이썬] 웹 스크래핑.1 - requests 웹 스크래핑을 시작해보자. 웹 스크래핑? 웹 페이지에서 내가 원하는 부분만 추려서 가져오는 것 웹 크롤링? 어떤 페이지에서 링크를 따라가면서 모든 내용을 가져오는 것. 웹 페이지를 구성하는 3가지 HTML / CSS / Javs script (JS) => 페이지 : 뼈대 / 꾸미기 / 기능 구현, 실현 HTML (Hyper Text Markup Language) XPath (XML Path Language) 문서의 구조를 통해 경로(Path)위에 지정된 구문을 사용하여 항목을 배치하고 처리하는 방법을 기술하는 언어 HTML내에서 특정 값의 위치/경로를 표현하는 언어. ex) 크롬 브라우저에서 네이버를 들어간 후, 개발자 도구 (F12)를 연다. 특정 위치 확인 후 Copy -> Copy XPath를 누르..

반응형