Selenium 웹 브라우저를 컨트롤 할 때 웹 자동화 하는 도구중의 하나 자동화의 종류 가장 원초적인 자동화는 화면의 좌표를 기준으로 한 자동화 selenium 도구를 이용하는 웹 자동화 윈도우즈의 자동화 작업의 자동화 웹 드라이버의 구성 WebDriver.Firefox : 파이어폭스 WebDriver.Chrom: 크롬 WebDriver.Ie: 익스플로어 WebDriver.Opera: 오페라 WebDriver.PantomJs: PantomJS브라우저 ( CLI 형식의 브라우저 ) Selenium Client 설치 pip install selenium Selenium 드라이버 설치 ( 다운로드 ) Firefox 드라이버 설치 https://github.com/mozilla/geckodriver/relea..
requests 모듈 http에서 사용하는 데이터 전송방식에는 GET,POST두가지가 있는데 두 방식의 메소드를 제공합니다. GET var = requests.get("http://google.com") POST formData = {"key1":"value1","key2":"value2"} var = requests.post{"http://sample.com",data=formData} 텍스트/바이너리 데이터 가져오기 ( 시간정보 ) import requests resData = requests.get("http://api.aoikujira.com/time/get.php") #텍스트 형식으로 추출하기 txt = resData.text print(txt) #바이너리 형식으로 데이터 추출하기 bin = r..
Http 통신의 특성 Connectionless - 클라이언트가 request를 서버에 보내면, 서버는 클라이언트에게 response를 보낸다. 그리고 접속을 끊는 특성 Stateless - 접속을 끊는 순간 클라이언트와 서버의 통신은 끝나고 상태정보는 유지하지 않는 특성 쿠키(cookie) 클라이언트에 저장되는 키와 값이 들어있는 작은 데이터 파일 쿠키는 이름,값,만료날짜(쿠키의저장기간), 경로 정보가 들어있습니다. 쿠키는 일정기간동안 데이터를 저장할 수 있어서 로그인 상태를 유지합니다. 쿠키는 클라이언트의 상태정보를 유저의 하드디스크에 저장하였다가 필요할 때 참조, 재사용 합니다. 쿠키의 사용예 1.방문사이트에서 아이디와 비번을 저장하겠습니까? 라고 메시지가 나오면 쿠키에 저장하겠냐는 의미입니다. 2..
news.naver.com/main/list.nhn?mode=LPOD&mid=sec&sid1=01&sid2=140&oid=001&isYeonhapFlash=Y&aid=0011991977 위 사이트에서 헤드라인결과만 출력해보겠습니다. 위의 뉴스와 같은 내용이 출력되는것을 확인할 수 있습니다. 코드 import urllib.request, urllib.parse, urllib.error from bs4 import BeautifulSoup import requests requests 포함 import url = 'https://news.naver.com/main/list.nhn?mode=LPOD&mid=sec&sid1=001&sid2=140&oid=001&isYeonhapFlash=Y&aid=00119919..
finance.naver.com/marketindex/ https://finance.naver.com/marketindex/ 환전 고시 환율 2020.11.04 16:05 하나은행 기준 고시회차 1019회 finance.naver.com 위의 사이트에 접속하면 아래와 같은 화면을 볼 수 있습니다. 위의 사진에서 빨간박스 안의 내용들만 가져와서 프로그램 실행시 번호를 입력받아 입력받은 번호에 맞는 정보를 출력해보겠습니다. 실행화면 코드 import urllib.request import urllib.parse as parse from bs4 import BeautifulSoup 3개 라이브러리 import url = "https://finance.naver.com/marketindex/" html = ur..
CSS : Web에서 디자인을 담당 Id : #으로 표현 class : .으로 표현 select_one() : css 선택자로요소하나의 선택자로 요소하나를 추출 select() : CSS선택자로 요소 여러개를 리스트로 추출 실행화면 코드 #BeautifulSoup import from bs4 import BeautifulSoup #html 더미데이터 삽입 html=""" 데이터과학 빅데이터 분석 강좌 R언어 강좌 머신러닝을 위한 데이터처리 파이썬으로 익히는 딥러닝 이론 """ #태그 저장 soup = BeautifulSoup(html,'html.parser') h1 = soup.select_one("div#lecture > h1").string print("h1: ", h1) select_one(): 하..
www.weather.go.kr/weather/forecast/mid-term-rss3.jsp 위의 주소에서 title, wf태그 내의 내용을 추출해보겠습니다. 실행 결과 코드 import urllib.request import urllib.parse as parse from bs4 import BeautifulSoup 이번엔 더미데이터가아니고 실제 웹사이트에 있는 태그를 추출할것이기 때문에 urllib까지 import를 해줍니다. rssUrl ="https://www.weather.go.kr/weather/forecast/mid-term-rss3.jsp" url 지정 html = urllib.request.urlopen(rssUrl).read() text=html.decode("utf-8") soup ..
find_all 원하는 태그를 전부 가져올 수 있습니다. 실행 화면 코드 from bs4 import BeautifulSoup BeautifulSoup를 import html=""" 네이버 다음 """ 더미데이터 삽입 soup = BeautifulSoup(html, 'html.parser') 태그내용 soup에 저장 links = soup.find_all("a") 모든태그 links에 저장 for a in links: href = a.attrs['href'] text = a.string print(text,">",href) attrs를 사용해 href속성값 href에 저장 string을 사용해 href의 값 저장 (네이버, 다음) 출력
find() 함수 각각 태그의 id데이터를 추출할 수 있습니다. 실행화면 코드 from bs4 import BeautifulSoup beautifulSoup import html=""" BeautifulSoup 사용 방법 스크레이핑 연습하기 원하는 데이터 추출하기 """ 더미데이터 삽입 soup = BeautifulSoup(html,'html.parser') html.parser를 이용해 태그를 soup에 저장 title = soup.find(id="title") subTitle = soup.find(id="subTitle") p = soup.find(id="subTitle").next_sibling.next_sibling print("title: "+ title.string) print("subTitl..
BeautifulSoup 특징 데이터를 분석 다운로드 불가 BeautifulSoup 설치 관리자 모드로 콘솔창 실행후 >pip3 install beautifulsoup4 라고 입력하고 Successfully 라고 뜨면 설치 완료 beautifulsoup 주요 함수 find() : 하나의 요소의 값을 읽어옴, html id 속성값을 가지고 올수있음 find_all() : 전체 데이터를 읽어옴 beautifulsoup 사용 예 코드 from bs4 import BeautifulSoup BeautifulSoup 라이브러리 import html = """ 스크레이핑 실습 웹페이지를 분석해보기 데이터 정제하기 .. """ html변수에 더미값 삽입 soup = BeautifulSoup(html, 'html.par..