목록R (6)
Stack Building
[2] encoding 이라는 이름의 함수를 정의한다. query를 인자로 받아 url의 쿼리 부분으로 파싱한다. [3] query는 찾으려는 검색어로, 이를 UTF-8 (시스템이 사용하는 인코딩 방식)의 캐릭터 스트링으로 변환한다. [4] 리스트 형식으로 되어있는 것을 해제해야 한다. [5] 대문자로 전부 변환한다. [6] 값을 리턴한다. [10] 크롤링 작업에 필요한 라이브러리를 부착한다. 설치되어 있지 않으면 인스톨한다. [13] 게시글 제목을 크롤링하는 함수 title catch를 정의한다. 인자로 쿼리와 페이지 수를 받는다. [14] 임시로 데이터 프레임을 만든다. [15]-[22] 지난 게시글과 같은 방식으로 크롤링하여 tmp에 저장한다. 이때 진행 정도를 파악하기 위해 크롤링 수행 중인 페이..
[4]-[7] 필요한 패키지 부착[10] 크롤링을 해올 url을 지정한다.[12] 일반적으로 url은 검색어 쿼리가 부착된 형태이므로, 찾고자 하는 쿼리를 지정하여 url string을 만드는 방법도 있다. [16] url의 html을 읽어온다. [17] html의 a 태그 아래의 노드를 읽어 저장한다.[19] 이미지 태그의 패턴. (정규표현식 참고)[20] 패턴에 해당하는 노드만 필터링한다.[22]-[24] 이미지 태그의 하이퍼링크를 필터링한다.[26]-[27] 이미지가 저장될 디렉토리를 확인하고 원하는 곳과 다를 경우 워킹 디렉토리를 설정한다.[28] 두 번째 링크에 해당하는 파일을 다운로드한다.[30]-[32] 하이퍼링크 갯수만큼의 이미지를 특정 이름 형식으로 다운로드한다. 강아지 이미지 크롤링 예..
크롤링 특강 정리를 이제야 하기 시작한다. 코드 statistical-analysis-with-R/크롤링/실시간 검색어 크롤링.R [3] rvest 패키지가 필요하기 때문에 필요할 경우 인스톨한다.[5] 원하는 웹사이트의 url을 변수로 받는다.[6] 해당 url의 html을 읽어온다. 네이버는 utf-8로 인코딩된 사이트다.[7] 실검에 해당하는 태그가 span.ah_k라서 해당 노드를 읽어와서 텍스트화한다.이때, 해당하는 태그를 알고 싶다면 크롬의 개발자 도구를 이용하는 것이 편리[8] 1위부터 20위까지의 검색어를 인덱싱한다. 오늘의 실검 상황.
1. R에서 정규표현식을 지원하는 함수 수도 없이 많다. 문자열에 관련한 함수들에서는 상당히 많이 지원하는 듯. gsub(), grep(), strsplit() 등등. 2. R 정규표현식 예제 (1) 텍스트 정리하기 R 공식 홈페이지의 텍스트를 긁어왔다. string에 담긴 내용은 위와 같다. 보다시피 공백이 많고 개행 문자도 포함되어 있어 지저분하다. 공백을 지운다. gsub 함수를 사용하여 공백이 둘 이상인 부분을 하나로 만들었다. 깔끔하게 정리된 모습이다. 추가로 괄호 안의 내용을 삭제하고 본문만 남기고 싶어져 다음을 수행했다. 괄호 안의 내용이 전부 지워진 깔끔한 텍스트를 저장할 수 있다. (2) 숫자 정리하기 위 예시에서 사용된 정규표현식의 의미는 "1부터 9까지의 수로 시작하고, 그 다음은 숫..
1. 단어로 표현하기[] 안에 단어로 패턴을 지정할 수 있다. [:digit:] 혹은 \d : 숫자, 0,1,2,3,4,5,6,7,8,9, 동등한 표현 [0-9]. [:lower:] : 영문 소문자, 동등한 표현 [a-z]. [:upper:] : 영문 대문자, 동등한 표현 [A-Z]. [:alpha:] : 알파벳 대소문자, 동등한 표현 [[:lower:][:upper:]] 혹은 [A-z] [:alnum:] : 알파벳 숫자 문자, 동등한 표현 [[:alpha:][:digit:]] 혹은 [A-z0-9]. [:xdigit:] : 16진수 (밑이 16), 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f, 동등한 표현 [0-9A-Fa-f]. [:blank:] : 간격 문자, 즉 스페..
정규표현식regular expression/regex은 파이썬이나 자바 외 많은 프로그래밍 언어에서 지원하는 일종의 패턴 표기 방법으로, 특정한 규칙을 가진 문자열을 검색하는 데에 사용하기 용이하다. R 크롤링 특강을 수강하기 전에 미리 공부하면 좋다고 하여 포스팅을 정리하게 되었다. R에서 정규표현식은 크게 두 가지로 구분하여 작성한다. "\" 와 [ ] 이다. \는 파이썬에서 배웠던 이스케이프 코드를 생각나게 한다. 그 뒤에 어떤 문자를 붙이면 해당 문자를 검색하게 해주는 패턴이 된다. 예를 들어 알파벳 a를 찾고 싶을 경우의 정규식은 "\a"가 된다. 그러나 일부 글자의 경우 다른 것을 뜻한다고 미리 정해져있는 경우가 있다. w는 word의 약어로, 알파벳(영소문자, 영대문자), 숫자, 언더스코어(..