programing/R studio

[미완성] 웹 크롤링

h-elena 2018. 5. 3. 11:03

install.packages("RSelenium")

install.packages("rvest")

install.packages("httr")

install.packages("stringr")


library(RSelenium) #브라우저를 제어하기 위한 패키지

library(rvest) #HTML처리

library(httr) #HTML처리

library(stringr) #문자열 함수


ch=wdman::chrome(port=4567L) #크롬드라이버를 포트 4567번에 배정


remDr=remoteDriver(port=4567L, browserName='chrome') #remote설정

remDr$open() #크롬드라이버 실행


remDr$navigate("https://www.naver.com")



# 종료 시, 

remDr$close









#상품평 읽어오기

library(RSelenium)

remDr <- remoteDriver(remoteServerAddr = "localhost" ,

                      port = 4445L,   # port 번호 입력

                      browserName = "chrome")  

# browserName : 실행 브라우저 입력

remDr$open()

# 브라우저가 실행되면 성공

# 접속할 사이트 입력


remDr$navigate("https://search.shopping.naver.com/detail/detail.nhn?nv_mid=5365196529&cat_id=50000448&frm=NVSHATC&query=%EC%98%A4%ED%9C%98")     # google로 연결 됨


All_review=c() #텍스트를 모으기 위한 백터공간

for(i in 1:210) {  #페이지 수만큼 반복하여 review긁어오기

  a=i #페이지 번호

  first="shop.detail.ReviewHandler.page(" #i를 변수로 받기 위해서 문장을 분해 i자리 앞쪽

  secon=", ''); return false;" #i자리 뒤쪽

  script=paste(first,a,secon,sep='') # a는 자동적으로 i를 받아 변하고 paste를 통해 한문장이 됨.

  pagemove <- remDr$executeScript(script, args = 1:2) #args 요 부분 의미는 잘 모르겠음.

  source<-remDr$getPageSource()[[1]] #페이지 소스 가져오기

  main <- read_html(source)

  mainfo=html_nodes(main,css='.atc')

  review=mainfo%>%html_text() #텍스트만 가져오기

  All_review=c(All_review,review) #텍스트 저장

}

All_review





#네이버 로그인 하기

library(XML)

remDr <- remoteDriver(remoteServerAddr="localhost", 

                      port=4445L, 

                      browserName="chorme")

remDr$open()

remDr$navigate("http://nid.naver.com/nidlogin.login")