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..
빅데이터의 대표적인 기술 스크레이핑 웹사이트에있는 특정 정보를 추출하는 기술 크롤링 프로그램이 웹 사이트를 정기적으로 돌며 정보를 추출하는 기술 urllib : Http,Ftp 프로토콜을 통해서 다운받고 사용할수 있게 도와주는 라이브러리 request모듈: 웹사이트에 있는 데이터에 접근하게 해주는 모듈 urlretrieve함수: 웹상에 자료를 다운로드 할수 있게 도와주는 함수 위의 라이브러리를 사용해서 웹상에 존재하는 이미지로고를 다운받아 보겠습니다. 1. 웹브라우져 ( chrome )에서 f12를 누르면 켜지는 개발자도구 열기 2. 왼쪽 위 마우스버튼을 누르면 현재 마우스가 위치하고 있는 곳이 코드의 어느부분인지 확인할수 있습니다. Daum페이지 로고에 마우스 올려놓고 img경로를 확인하고 복사합니다...
아나콘다 설치를 위해 아래 주소로 들어가서 다운을 받습니다. www.anaconda.com/products/individual#download-section Anaconda | Individual Edition Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine learning on a single machine. www.anaconda.com 1. Download 클릭 2. 본인 PC버전에 맞게 다운 3. 설치파일 실행 후 경로만 변경하고 기본값으로 설치
jsp에서 Redirect는 기본적으로 값을 넣지않고 페이지만 이동할때 사용 했지만 addAttribute를 사용하면 값도 넘길수 있습니다. 일단 Redirect 사용문법부터 보겠습니다. Controller @RequestMapping(value = "/studentConfirm", method = RequestMethod.GET) public String studentRedirect(Model model,HttpServletRequest request) { String id = request.getParameter("id"); model.addAttribute("id",id); if(id.equals("abc")) { return "redirect:studentOk"; } return "redirect..
커맨드객체를 통해 값을 출력할때 EL(Expression Language)을 사용했습니다. 이번엔 EL에 별칭을 주는 방법을 알아보겠습니다. StudentInformation DTO/VO package com.co.mvc05_03; public class StudentInformation { private String name; private String age; private String gradeNum; private String classNum; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public v..
스프링에서 HTTP 전송 데이터를 받아오는 방법은 getParameter를 사용해서 받아오거나 @RequestParam이라는 어노테이션을 사용하여 받아올 수 있습니다. 위의 방법은 데이터의 속성들이 적다면 큰 문제가 생기지 않지만 굉장히 많은 속성을 처리하기엔 현실적으로 불가능합니다. 그래서 스프링에서는 커맨드 객체를 지원해서 각체 자체의 속성값을 커맨드 객체에 바인딩하여 처리할 수 있게 해주었습니다. 사용예시 Member VO package com.co.mvc03; public class Member { private String name; private String id; private String pw; private String email; public String getName() { retur..
MVC2 에서는 컨트롤러에서 get,post 어느 방식으로 데이터가 들어와도 doProcess라는 메소드를 생성하여 둘다 한번에 처리하는 메소드를 만들어서 처리했습니다. 스프링 컨트롤러에서는 같은 메소드를 두개만들고 오버로딩을 하여 사용하면 됩니다. studentInput.jsp studentId: studentId: 위 화면처럼 post, get 버튼을 만들어서 입력한 값을 원하는 방식으로 보내보겠습니다. post get get,post를 처리해주는 컨트롤러를 보겠습니다. 어떤 방식으로 데이터를 받아도 처리를 하기위해서 같은 메소드를 오버로딩해서 두개를 만들어주어야 합니다. 오버로딩하기 위해서는 매개변수의 갯수나 타입이 다르면 오버로딩을 할 수 있는 조건을 성립하게 됩니다. 그래서 하나는 ModelAn..