[R] 웹 크롤링 준비
아마 " 웹(Web) 정보 수집 "의 꽃은
웹 크롤링이지 않을까 생각된다.
오늘은 R로 크롤링을 하기 이전에 준비해야 할 프로그램 및 구동 방법을 설명하려 한다.
우선 설치에 앞서 Selenium이 무엇인지 간단히 짚고 넘어가자!
한 마디로 웹 브라우저를 자동으로 구동시키는 기능을 가진 필수적인 요소이다.
셀리늄(Selenium)은 Java 기반의 서버이기 때문에
이를 사용하기 위해서는
"Java 개발 환경(Java Development Kit _JDK)"을 준비해야 한다.
Java 개발환경 준비
Java SE 설치
다운로드 페이지에서 각자의 운영체제에 적합한 프로그램을 설치하면 된다.
아래 살펴보면 "DevelopmentTools"를 선택해서 진행하다.
[Close] 버튼이 나올 때까지 Next 누르며 꽤 오랜시간 설치가 진행된다.
😭😭😢
설치가 완료되면
jdk가 설치되어 있는 위치로 이동한 후,
해당 폴더 주소를 복사한다
PC설정
주소 복사까지 수행했다면
PC에서 해당 환경을 적용시키기 위한 작업이 필요하다.
[내 PC] - [속성(R)] 을 선택하여 '설정창' 을 띄운다.
(필자는 Window운영체제에 Window 10이다. 개발자마다 상황에 맞게끔 진행해야한다..😂)
이 다음엔
[고급 시스템설정] - 하단 [환경 변수(N)]을 클릭해서 환경 변수 설정을 해야한다.
시스템 변수를 새로 생성하는데 위와 같이 작성 후 저장한다.
그 다음,
[Path] 변수를 찾아 클릭하고
[새로 만들기]를 통해
위에서 지정했던 "%(변수이름)%\bin"을 기입하여
가장 위로 올린다.
그 이후, 권한 허용 등은 수락해주면 된다.
브라우저 Dirver & Selenium 서버 파일
최종적으로 웹 크롤링을 할 때 cmd를 통해 브라우저 드라이버와 Selenium 서버 실행 프로그램이 같이 담겨있는 폴더를 사용해야 하기 때문에 별도의 Selenium 폴더 를 만들어 준다
[Selenium]폴더 안에
크롤링에 사용할 브라우저(Browser)의 Driver 파일 설치
& Selenium server 파일 설치
필자는 Chrome이 좋다....ㅎ
>>> Chrome Driver
(동적 웹페이지의 경우, 사용자 Event는 JavaScript가 실행되며 Ajax 기술을 대부분 사용하는데 이를 크롤링하기 위해 꼭 필요하다.)
>>> Selenium Server
개발환경 실행
cmd창 ON!
-
위에서 생성했던 Selenium 폴더 경로로 이동한다
-
입력 및 실행
[ java -Dwebdriver.(브라우저).driver="(Browser Driver exe 파일명)"-jar selenium-server-standalone-4.0.0-alpha-1.jar(Selenium 프로그램) -(port 번호) ]
java -Dwebdriver.chrome.driver="chromedriver.exe" -jar selenium-server-standalone-4.0.0-alpha-1.jar -port 4445
R package 설치
💢 정적 웹페이지 크롤링 /Open API
install.packages("httr")
install.packages("rvest")
install.packages("XML")
install.packages("jsonlite")
💢 동적 웹페이지 크롤링
install.packages("RSelenium")
library(RSelenium)
#브라우저 자동화 시켜서 크롤링 하기 위한 작업(●'◡'●)
#위 cmd 명령을 참고한다. port= 인수 , browserName= 인수
(실행변수명) <- remoteDriver(remoteServerAddr = "localhost" ,
port = 4445, browserName = "chrome")
Author And Source
이 문제에 관하여([R] 웹 크롤링 준비), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yummygyudon/R-웹-크롤링-준비저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)