Selenium & Beautiful Soup

Slides:



Advertisements
Similar presentations
ⓒ 2015 NHN Entertainment Corp. Django 로 만드는 초간단 블로그 시스템운영팀 김영태 개발환경 구축.
Advertisements

프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
임직원 APP 설치 가이드 경영전략처 정보기획 TF 팀. 임직원 App- 운영체제 구분  안드로이드 갤럭시, 갤럭시노트, 갤럭시 S4 [ 삼성전자 ] 옵티머스 [LG 전자 ] 베가 [ 팬텍 모토로이 [ 모토롤라 ]  ios 아이폰 [ 애플.
Window media player 1. 윈도우 미디어 플레이어가 많이 끊길 때 윈도우 미디어 플레이어실행 > 도구 > 옵션 > 성능 > 연결 속도 > 연결 속도 선택 Lan(10Mbps) 선택 > 네트워크 버퍼링 버퍼 10 초 네트워크창 > 스트리밍 프로토콜 > UDP.
Naxos Music Library 스마트폰 이용방법 안드로이드 마켓 / 아이폰 엡스토어를 이용하여 NML 또는 Naxos Music Library 검색 및 다운로드. ID/ 비밀번호로 접속 1. 학생 ID/ 비밀번호 - KNUA01 // KNUA01 → 기존 음악목록과.
1. 사이트 접속하기 인터넷검색창에서 “ 서울시 평생학습포털 ” 검색하여 접속하기 ( 또는 주소창에 입력 )
Management Support Division 통근버스 위치추적 어플 메뉴얼 관리부 문서번호 : QKA_ 보존년한 :
농촌인적자원개발센터 홈페이지 회원가입 방법. 회원가입 1. 농촌인적자원개발센터 홈페이지 ( 포탈사이트 ( 구글, 네이버 다음 등 ) 농촌인적자원개발센터 검색 ★ 홈페이지 접속 - 회원가입 버튼 클릭.
2016 유성환 Hybrid MOBILE.
Ⅱ. 모바일 학생증 1. 신청 방법 ( 절차 ) 앱 스토어, Play 스토어 가톨릭관동대학교 모바일 학생증 검색 다운로드.

IPython Notebook + Spark + TensorFlow on Windows
가상환경 구축 및 리눅스 터미널 실습 충북대학교 지능로봇연구실.
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
스마트워크(가상화) 외부 접속 방법 정보관리실.
네오플러스 인트라넷 통합인증 설정 매뉴얼.
IoT(사물인터넷) 보안 2016년 2학기 2. 라즈베리파이 준비.
㈜디아이씨 SSLVPN 협력사 접속방법 2017년 4월.
Android Wi-Fi Manual (Guest용)
ERP 전용 브라우저 설치 매뉴얼 (Windows 7)
윈도우7 체크 설치 매뉴얼
Sep Youn-Hee Han 웹서비스 컴퓨팅 수업을 위한 코딩 환경 준비 Sep Youn-Hee Han
6장 Mysql 명령어 한빛미디어(주).
14장 질의응답 한빛미디어(주).
Mysql Install on Azure
[ Beautiful Soup을 이용한 파싱]
4-1장. MySQL 제13장.
컴퓨터정보공학부 서버 안내 [ IBM x3500 ] it.sangji.ac.kr ict.sangji.ac.kr 혹은
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
SSL-VPN 설치 및 접속 설명서.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
- 전자 문서파일 불러오기 방법
You YoungSEok Oracle 설치 You YoungSEok
Jupyter Notebook Install
Neo-plus2 서버 및 클라이언트 설정 방법
1. SSLVPN 접속 방법 Internet Explorer 실행(타 브라우저 사용 불가)
Mobile SHI 사용자 메뉴얼 중공업조선CI그룹 전진형( )
2장. JSP 프로그래밍을 위한 환경구성 제2장.
㈜시스원이 제공하는 시스템 관리 통합 솔루션 SysmanagerOne Agent설치 안내서
2015학년도 PHP 기말 레포트 로그인 홈페이지 제작.
Windows에서 Virtual Box를 이용한 Ubuntu 설치
1. SSLVPN 접속 방법 Internet Explorer 실행(타 브라우저 사용 불가)
IPython Notebook + Spark + TensorFlow on MacOS
명지대학교 통합모바일앱 E-Book 이용안내
BERT Install Guide 숭실대학교 test.
ERP 전용 브라우저 설치 매뉴얼 (Windows 7)
< 현금영수증가맹점 가입절차 >
툴 설치 가이드 PrimeTime SynopsysMentor.
툴 설치 가이드 Formality SynopsysMentor.
Endnote 이용 안내 2010 중 앙 도 서 관.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
Linux/UNIX Programming
PC에 설치된 엔드포인트 클라이언트 프로그램을 클릭하여 프로그램 상자를 엽니다
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
2018년 10월 01일 박성진 Web & Internet [04] CSS3 2018년 10월 01일 박성진
Git 사용하기 Git 소개 Git 사용 환경 GitHub 가입 및 원격 저장소 만들기 Git 설치 Git 최초 설정
1. 인증서버 :일반유선PC( 접속“CA관리” 클릭
[ Beautiful Soup을 이용한 파싱]
Cold Spring Harbor Laboratory Press 저널 이용 매뉴얼
교보문고 전자도서관 이용방법.
KISTI Supercomputing Center 명훈주
웹 스크래핑.
(PC - (모바일 - 경희대학교 안전정보망 매뉴얼 (PC - (모바일 총무관리처.
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
FTP 스캔 설정 방법 강사 : 이성휘 대리.
어드민 로그인 ID : admin 비밀번호 : 서보테크 1. 제품소개 등록 - MISUBISHI
숙제 작성 및 제출 과정 김진하 2008/03/14.
Docker Study 6~7.
Exporting User Certificate from Internet Explorer
Presentation transcript:

Selenium & Beautiful Soup 파이썬을 활용한 금융 데이터 분석 기초 및 심화 과정 1 1

Chrome 설치 데스크톱용 chrome ChromeDriver https://www.google.co.kr/chrome/browser/desktop/index.html ChromeDriver chromedriver_win32.zip 파일 다운로드 후 압축 해제 https://sites.google.com/a/chromium.org/chromedriver/downloads

Selenium 모듈 설치 Python bindings for Selenium 윈도우 명령 프롬프트를 실행한 후 다음 명령어를 입력 pip install –U selenium

Selenium으로 네이버 띄우기 from selenium import webdriver lab04/Selenium/01.py Selenium으로 네이버 띄우기 from selenium import webdriver browser = webdriver.Chrome("chromedriver.exe") # chrome driver 파일의 경로 설정 browser.get("http://www.naver.com")

네이버 검색하기 from selenium import webdriver lab04/Selenium/02.py 네이버 검색하기 from selenium import webdriver browser = webdriver.Chrome("chromedriver.exe") browser.get("http://www.naver.com") # 네이버 검색창 (id를 통해 찾거나 class를 통해 찾을 수 있습니다.) input = browser.find_element_by_class_name("input_text") #input = browser.find_element_by_id("query") input.send_keys("미래에셋대우") input.submit()

네이버 로그인하기 (1/2) 크롬 개발자도구를 사용하여 아이디/비밀번호의 id를 확인

네이버 로그인하기 (2/2) from selenium import webdriver lab04/Selenium/03.py 네이버 로그인하기 (2/2) from selenium import webdriver browser = webdriver.Chrome("chromedriver.exe") browser.get("http://www.naver.com") # 네이버 검색창 id = browser.find_element_by_id("id") id.send_keys("네이버 아이디") passwd = browser.find_element_by_id("pw") passwd.send_keys("네이버 패스워드") passwd.submit()

Beautiful Soup Beautiful Soup Parser Beautiful Soup is a Python library for pulling data out of HTML and XML files https://www.crummy.com/software/BeautifulSoup/bs4/doc/ Parser html.parser (default) lxml html5lib (설치하기)

Parser 선택의 차이 lab04/Selenium/04.py from bs4 import BeautifulSoup html = ''' <p id="foo1"> 첫 번째 문단 </p> <p id="foo2"> 두 번째 문단 </p> ''' soup1 = BeautifulSoup(html, "html.parser") soup2 = BeautifulSoup(html, "html5lib") print(soup1) print(soup2) html.parser html5lib

Navigating HTML (1/5) find_all select soup.find_all(“p”) soup.find_call([“th”, “td”]) soup.find_all(class_=“ohlc”) soup.find_all(id=“test”) select soup.select(“p”) soup.select(“th, td”) soup.select(“.ohlc”) soup.select(“[id=test]”)

Navigating HTML (2/5) from bs4 import BeautifulSoup lab04/Selenium/05.py Navigating HTML (2/5) from bs4 import BeautifulSoup soup = BeautifulSoup(open("./01.html", encoding="utf-8"), "html5lib") print(soup.find_all("div")) print(soup.select("div")) [<div id="test"> Example <div> OHLC </div></div>, <div> OHLC </div>]

Navigating HTML (3/5) lab04/Selenium/06.py from bs4 import BeautifulSoup soup = BeautifulSoup(open("./01.html", encoding="utf-8"), "html5lib") print(soup.find_all(["th", "td"])) print(soup.select("th, td"))

Navigating HTML (4/5) lab04/Selenium/07.py from bs4 import BeautifulSoup soup = BeautifulSoup(open("./01.html", encoding="utf-8"), "html5lib") print(soup.find_all(class_="ohlc")) print(soup.select(".ohlc"))

Navigating HTML (5/5) lab04/Selenium/08.py from bs4 import BeautifulSoup soup = BeautifulSoup(open("./01.html", encoding="utf-8"), "html5lib") print(soup.find_all(id="test")) print(soup.select("[id=test]"))

네이버 메일 목록 가져오기 (1/2) 메일 주소 https://mail.naver.com/ lab04/Selenium/09.py 네이버 메일 목록 가져오기 (1/2) 메일 주소 https://mail.naver.com/ 메일 목록에 해당하는 CSS Selector를 복사 적당히 다듬기

네이버 메일 목록 가져오기 (2/2) browser.get("https://mail.naver.com") html = browser.page_source soup = BeautifulSoup(html, "html.parser") subject_list = soup.select('ol.mailList > li > div.mTitle > div.subject > a > span') for i in subject_list[::3]: print(i.text.strip()[11:])

네이버 페이 동일한 방식으로 CSS Selector 확인 lab04/Selenium/10.py 네이버 페이 동일한 방식으로 CSS Selector 확인 browser.get("https://order.pay.naver.com/home") html = browser.page_source soup = BeautifulSoup(html, "html.parser") buy_list = soup.select('div.p_inr > div.p_info > a > span') for item in buy_list: print(item.text.strip())

국고채 금리가져오기 http://www.index.go.kr/strata/jsp/showStblGams3.jsp?stts_cd=288401&idx_cd=2884&freq=Y&period=1998:2016

국고채 금리가져오기 import requests from bs4 import BeautifulSoup url = "http://www.index.go.kr/strata/jsp/showStblGams3.jsp?stts_cd=288401&idx_cd=2884&freq=Y&period=1998:2016" html = requests.get(url).text soup = BeautifulSoup(html, "html5lib") tr_data = soup.select("tr > td") for tr in tr_data: print(tr.text)