본문 바로가기
반응형

R 주제/크롤링12

[R 크롤링] 12. 코스피, 코스닥, 코넥스 목록 따로 가져오기 지난 글에서 CSV를 다운로드 받고 네트워크 정보를 얻어오는 부분을 봅시다. 구분에 '전체'가 체크되어 있습니다. CSV 버튼을 클릭하면 우측에 파일 두개가 생성됩니다. generate.cmd 파일을 클릭해봅시다. mktId 에 ALL이 입력되어 있습니다. 크롤링에도 이 값을 사용했습니다. 이번에는 KOSPI를 체크하고 같은 과정을 반복해봅시다. 이번에는 mktId가 STK로 바뀌었습니다. 지난 크롤링 코드를 가져옵시다. library(httr) library(rvest) library(readr) otp_url = 'http://data.krx.co.kr/comm/fileDn/GenerateOTP/generate.cmd' otp_form_data = list( mktId = 'ALL', share = .. 2021. 4. 7.
[R 크롤링] 11. 한국거래소에서 전체 상장종목 목록 가져오기(어려운 버전) Step1. 홈페이지 접속하기 한국거래소 홈페이지에 들어갑니다. http://www.krx.co.kr/main/main.jsp 상단 탭의 [정보데이터시스템]을 클릭합니다. 정보데이터시스템 화면에서 좌측 탭의 [종목정보]-[전종목 기본정보]를 클릭합니다. Step2. 네트워크 정보 확인 우클릭 [검사]를 클릭합니다. Network 탭을 클릭합니다. 다운로드 버튼을 클릭하고 CSV를 다운받습니다. 네트워크 탭에 아래 두 파일이 생깁니다. generate.cmd : OTP 생성 download.cmd : 생성한 OTP를 제출하고 파일을 다운로드함. Step3. OTP 받아오기 먼저 OTP를 받아옵시다. GenerateOTP를 눌러보면, 우측에 Request URL 이 있을 것입니다. POST 방식입니다. 스크.. 2021. 4. 7.
[R 크롤링] 10. R크롤링 함수 모음 1-1. HTML 가져오기 (GET 방식) #라이브러리 불러오기 library(httr) library(rvest) #GET 함수로 서버에 정보 요청하기 url = '주소' get_url = GET(url) #read_html 함수로 html 코드 읽기 my_html=read_html(get_url,encoding='utf-8') 1-2. HTML 가져오기 (POST 방식) #라이브러리 불러오기 library(httr) library(rvest) #GET 함수로 서버에 정보 요청하기 url = '주소' get_url = POST(url, body = list( method = ' ', ... )) #read_html 함수로 html 코드 읽기 my_html=read_html(get_url,encoding.. 2021. 4. 7.
[R 크롤링] 9. GET 방식과 POST 방식의 차이 웹브라우저의 원리는 URL 주소를 통해 서버에 정보를 요청하고 받아오는 것입니다. 요청하는 방식을 method라고 하는데요. 대표적인 방법에는 GET 방식과 POST 방식이 있습니다. 웹브라우저를 공부하는 강의가 아니므로 크롤링의 관점에서 필요한 정도의 설명만 드리도록 하겠습니다. 1) GET 방식 - URL 에 요청내용을 추가해서 넣음. 물음표 ? 뒤에 내용을 넣음 - 예시 : 네이버 증시에서 코스피 현황을 보는 URL은 아래와 같음. 물음표 뒤에 code=KOSPI 를 붙여서 요청함. https://finance.naver.com/sise/sise_index.nhn?code=KOSPI 코스닥이 요청되면 아래와 같음. https://finance.naver.com/sise/sise_index.nhn?c.. 2021. 3. 24.
[R 크롤링] 8. 웹브라우저의 원리 간단 설명 이번시간에는 웹브라우저의 원리를 간단히 설명드리겠습니다. 교보문고 홈페이지에 들어가서 '베스트' 버튼을 클릭해봅시다. 우리가 위에서 '베스트' 버튼을 클릭하는 순간 아래 URL이 서버로 요청(Request)됩니다. 서버는 교보문고에서 운영하는 서버입니다. 외주를 줬을 수도 있구요. 서버는 하나의 컴퓨터입니다. 서버에는 우리가 요청하는 정보들이 저장되어 있습니다. 교보문고의 서버에는 분야별 종합베스트셀러 정보가 있고, 우리에 요청에 응답(Response)하여이 정보를 우리 컴퓨터로 보내주는 것입니다. (더 자세히는 저도 아직 모릅니다;) http://www.kyobobook.co.kr/bestSellerNew/bestseller.laf?orderClick=d79 우리가 '베스트'를 클릭했을 때, 이동된 화.. 2021. 3. 24.
[R 크롤링] 7. 멜론차트에서 가수 이름도 출력 4강에서 멜론 차트의 순위권에 있는 노래 제목을 크롤링해봤습니다. 오늘은 가수 이름도 함께 출력하는 방법을 알아봅시다. 4강에서 사용한 코드는 아래와 같습니다. #라이브러리 불러오기 library(httr) library(rvest) #GET 함수로 서버에 정보 요청하기 url = 'https://www.melon.com/chart/' get_url = GET(url) #read_html 수로 html 코드 읽기 my_html=read_html(get_url,encoding='utf-8') #ellipsis rank01 클래스만 추출 pick1=html_nodes(my_html,'.ellipsis.rank01') #a 태그만 추출 pick2=html_nodes(pick1,'a') #텍스트 추출 pick3.. 2021. 3. 24.
[R 크롤링] 6. 크롤링 예제3 (네이버 역대 영화 평점 순) 역대 영화 평점순 랭킹을 크롤링해볼 것입니다. 구글에 네이버영화라고 검색하고 나오는 사이트에 들어갑니다. 좌측탭의 영화랭킹을 클릭합니다. 가운데 탭의 평점순을 클릭합니다. 검사 도구를 켜고 이름을 클릭합니다. 클래스가 tit5 입니다. 이번에는 평점 코드를 확인합니다. 아래와 같이 크롤링하면 됩니다. #라이브러리 불러오기 library(httr) library(rvest) #GET 함수로 서버에 정보 요청하기 url = 'https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=pnt&date=20210310' get_url = GET(url) #read_html 함수로 html 코드 읽기 my_html=read_html(get_url) #태그를 이용하여 추출 ti.. 2020. 7. 31.
[R 크롤링] 5. html 추출 연속 적용하기 지난 시간에 멜론 차트를 크롤링한 코드를 봅시다. #라이브러리 불러오기 library(httr) library(rvest) #GET 함수로 서버에 정보 요청하기 url = 'https://www.melon.com/chart/' get_url = GET(url) #read_html 함수로 html 코드 읽기 my_html=read_html(get_url,encoding='utf-8') #ellipsis rank01 클래스만 추출 pick1=html_nodes(my_html,'.ellipsis.rank01') #a 태그만 추출 pick2=html_nodes(pick1,'a') #텍스트 추출 pick3=html_text(pick2) 테크를 추출하는 부분을 보면, 테그추출 함수를 적용할 때마다 새로운 변수에 저.. 2020. 7. 29.
[R 크롤링] 4. 크롤링 예제2 (멜론 차트 순위) 크롤링 두번째 예제입니다. 멜론 차트에서 top 10 곡 리스트를 가져오겠습니다. 멜론 사이트에 들어가서, 메뉴에 '차트'를 클릭합니다. URL을 복사하여 가져옵니다. https://www.melon.com/chart/index.htm R의 GET 함수를 이용하여 서버에 정보를 요청합니다. library(httr) library(rvest) url = 'https://www.melon.com/chart/' get_url = GET(url) > get_url Response [https://www.melon.com/chart/] Date: 2020-07-27 05:06 Status: 200 Content-Type: text/html;charset=utf-8 Size: 386 kB 인코딩 방식이 utf-8 .. 2020. 7. 27.
[R 크롤링] 3. 크롤링 예제1 (교보문고 주간 베스트셀러) 이번시간에는 크롤링예제를 하나 수행해봅시다. 교보문고 홈페이지에서 종합베스트셀러 제목을 가져오는 것입니다. 교보문고 종삽주간베스트 페이지의 URL은 아래와 같습니다. 종합주간베스트 페이지는 교보문고 메인페이지에서 '베스트' 버튼을 클릭하면 접근이 가능합니다. http://www.kyobobook.co.kr/bestSellerNew/bestseller.laf?orderClick=d79 먼저 위 URL에 있는 html 코드를 가져와야합니다. html 코드를 읽을 때, R에서는 두가지 함수가 사용됩니다. 1) GET 함수를 이용하여 교보문고 서버에 내용 요청 2) read_html 함수를 이용하여 html 코드 읽음 서버에 url 내용을 요청하는 대표적인 방법에는 GET 방식과 POST 방식이 있습니다. 둘의.. 2020. 7. 27.
[R 크롤링] 2. 웹페이지의 html 소스코드 보는 법 도구 R로 하는 크롤링 2. 웹페이지의 html 소스코드 보는 법 교보문고의 베스트셀러 순위 중 1위를 크롤링으로 가져오고 싶다고 해봅시다. 먼저 교보문고 홈페이지에 들어갑시다. 메뉴에 보시면 '베스트' 라는 버튼이 있습니다. 이 버튼을 클릭하면 분야종합베스트 화면으로 이동합니다. 김미경의 리부트가 현재 1위입니다. 우리가 가져오고 싶은 것은 '김미경의 리부트'라는 글자입니다. 우리가 인터넷에서 보고 있는 모든 글자들은 html 이라는 언어로 되어 있습니다. 나중에 크롤링을 통해 가져올 정보도 html 코드에서 가져오는 것입니다. 어떤 웹페이지의 화면을 구성하는 html 코드를 확인하는 방법은 두가지가 있습니다. 오늘 그 방법을 알아볼 것입니다. 먼저 첫번째 방법입니다. 우클릭을 하고 페이지 소스보기를 .. 2020. 7. 25.
[R 크롤링] 1. R 크롤링을 어떻게 배울 것인가? 도구 R로 하는 크롤링 1. R 크롤링을 어떻게 배울 것인가? R로 하는 크롤링을 공부해보려고 합니다. 크롤링은 웹에서 원하는 정보를 수집하는 것을 말합니다. 프로젝트 수행방식으로 공부해야 방향성도 생기고 꾸준히 이어갈 수 있다고 해서 주제를 하나 정했습니다. 주제는 '주식'입니다. 더 정확히 말하면 주가와 재무제표분석 이라고 할 수 있습니다. R크롤링을 이용하여 주가 데이터와 재무제표 데이터를 가져오고, 이들을 분석해볼 것입니다. R도 아주 잘하지 못하고, 주식도 잘 모르기 때문에 공부해가며 강의를 이어가려고 합니다. 강의 순서는 아래와 같이 정해보았습니다. 순서는 수정되고 확장될 것입니다. 1. R 크롤링을 어떻게 배울 것인가? 2. 웹페이지의 html 소스코드 보는 법 3. 크롤링 예제1 (교보문고.. 2020. 7. 25.
반응형