25%
33,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결R로 하는 웹 크롤링 - 실전편
보배드림 content 관련 규칙 변경
보배드림 사이트 구조가 바뀌어서 규칙을 찾기 어렵습니다. 우선 <meta property="og:type" content="website"> 를 str_detect 해서 그 위에있는 줄을 가져와보았지만 글마다 마지막줄만 추출되었습니다. 도움 부탁드립니다 감사합니다.
- 미해결R로 하는 웹 크롤링 - 실전편
readLines부터 에러가 뜨는데 어떻게 해야할까요 ㅜㅜ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결R로 하는 웹 크롤링 - 실전편
에러 코드
Error in which(str_detect(b, "id=\"newEndContents\">")):which(str_detect(b, : argument of length 0 위 에러 메세지가 발생하는데 무엇인지 못찾겠네요. 아래는 코드 입니다. final_data <-NULL i<-1 j<-1 for(j in 1:5) { for(i in 1:2) { date<-Sys.Date()-j date2<-gsub("-","",date) url <- paste0("https://sports.news.naver.com/kbaseball/news/list?isphoto=N&date=",date2,"&page=", i) b<-readLines(url, encoding = "utf-8") library(RJSONIO) b2<-fromJSON(b) b2$list[[1]] a1<-sapply(b2$list, function(x){x$oid}) a2<-sapply(b2$list, function(x){x$aid}) a3<-sapply(b2$list, function(x){x$title}) final_data<-rbind(final_data,cbind(a1, a2, a3)) cat("\n", date2, "-", i, "데이터 수집 중" ) } } setwd("/Users/??/Workspace/R/Projects/CrawlingPro/05") write.csv(final_data, "baseball_news.csv", row.names = F) final_data[,1] final_data[,2] con_url<-paste0("https://sports.news.naver.com/news?oid=", final_data[,1], "&aid=", final_data[,2]) library(stringr) con_url k<-1 con<-c() for (k in 1:length(con_url)) { b<-readLines(con_url[k], encoding="utf-8") b2<-b[which(str_detect(b, "id=\"newEndContents\">")):which(str_detect(b, "news_end_btn"))] b3<-paste(b2, collapse = " ") b3 b3<-gsub("<.*?>", "",b3) b3<-gsub("\t|>| |<", "",b3) con[k] <- b3 cat("\n", k) } baseball_data<-cbind(final_data, con) colnames(baseball_data) <- c("oid", "aid", "head", "cont") write.csv(baseball_data, "baseball.csv", row.names=F)
- 미해결R로 하는 웹 크롤링 - 실전편
최종 코드 입니다.
# 인코딩 변환 안해줘도 됩니다. search_loc <- function(keyword) { keyword2<-URLencode(keyword) url <-paste0("https://map.naver.com/v5/api/instantSearch?lang=ko&caller=pcweb&types=place,address,bus&coords=37.5499346,126.9145229&query=",keyword2) b<-readLines(url, encoding = "UTF-8") b library(RJSONIO) b2<-fromJSON(b) c(b2$place[[1]]$title, b2$place[[1]]$x, b2$place[[1]]$y) } search_loc("서울역")
- 미해결R로 하는 웹 크롤링 - 실전편
토큰을 제출해야 하는 사이트 크롤링
안녕하세요, 영화관 통계 사이트 데이터를 rvest로 받아오고자 하는데 사이트를 분해해보니 'CSRFToken'이란 난수를 요청하는 것 같은데요, 아래와 같이 먼저 받아오고 POST를 사용하면 420 에러가 뜹니다. 혹시 POST를 날릴때 토큰도 같이 받아서 날릴 수 있는 방법이 있나요? 아래는 제가 작성해서 테스트해봤으나 동작하지 않는 코드입니다. #토큰 가져오기 target_url<-"https://www.kobis.or.kr/kobis/business/main/main.do" Token<-target_url %>% read_html() %>% html_nodes(xpath = '//*[@id="wrap"]/input') %>% html_attr('value') #월별 관객 추이 target_url<-"https://www.kobis.or.kr/kobis/business/stat/them/findMonthlyTotalList.do" ref<-"https://www.kobis.or.kr/kobis/business/stat/them/findMonthlyTotalList.do" tmp<-POST(url = target_url,httr::add_headers(Referer = ref), query=list( CSRFToken = Token, loadVal = 0, searchType = "search", selectYear = 2021 ) )
- 미해결R로 하는 웹 크롤링 - 실전편
객체 'k'를 찾을 수 없습니다
다음 카페 크롤링을 공부하고 있는데요 제공해 주신 소스 코드를 실행하는데 > list.url<-paste0("http://m.cafe.daum.net/dotax/Elgq?page=",k) Error in paste0("http://m.cafe.daum.net/dotax/Elgq?page=", k) : 객체 'k'를 찾을 수 없습니다 이렇게 나옵니다.
- 미해결R로 하는 웹 크롤링 - 실전편
소스코드
안녕하세요 수업에서 작성하는 소스코드는 제공되지 않는 건지요? 지금 제공되는 일부분만 제공되는 건가요?
- 미해결R로 하는 웹 크롤링 - 실전편
Referer
referer는 어떤 url를 가지고 오신건가요? 무조건 저 url을 가지고 와야되나요?
- 미해결R로 하는 웹 크롤링 - 실전편
보베드림 강의 오류관련 질문입니다.
보배드림 강의수강 중 readLines 실행중 오류가 발생합니다. 불완전한 마지막 행이 발견되었다고 뜨는데 홈페이지 주소가 잘못되어서 그런건가요?
- 미해결R로 하는 웹 크롤링 - 실전편
원하는 지역의 카페(맛집) 리스트 크롤링 for문 질문
안녕하세요 위와 같이 코딩을 했을 시, for문이 아닌 i에 1, 2, 3을 각각 넣어서 했을 때는 오류가 없는데 For문을 넣어서 진행하면 아래와 같은 오류가 발생합니다.
- 미해결R로 하는 웹 크롤링 - 실전편
원하는 지역의 카페(맛집) 리스트 크롤링 10:09분경 질문
1. 윗 부분 코드에는 name,id,x,y,address를 찾기 위해서 list앞에 [[1]]를 일괄적으로 붙이는 건 이해가 가는데, 아래의 sapply 부분 코드에서의 function부분을 보면 [[1]]가 없는데 왜 그런지 잘 이해가 가지 않습니다. b2$result$site$list[[1]]가 아니라 b2$result$site$list를 입력값으로 받는거면 함수에 적용되는 식도 b2$result$site$list$name 등 이런 식이 아닌가요? 따로 b2$result$site$list$name을 시도해봤는데 오류가 뜨고.. 즉 함수의 입력값에 들어가는 값이 x[[1]]가 아니라 단순히 x로 들어가는 것 같은데 왜 정상적으로 실행이 되는건지 원리가 잘 이해가 안가네요. 2. 왜 이런 오류가 뜨는 지 잘 모르겠네요. 첫번째 키워드(신촌 카페)는 잘 수집되는데 두 번쨰부터 막히는 것 같습니다. 키워드를 바꿔서 해봤는데도 항상 두 번째 키워드만 시행이 안됩니다. HTTP 404 오류가 발생했다고해서 사이트에 직접 접속해보면 문제없이 되서 무엇이 문제인지 잘 모르겠습니다. 감사합니다
- 미해결R로 하는 웹 크롤링 - 실전편
셀레늄 사용시 W3C 에러 문제
안녕하세요, 알려주신 강의를 잘 활용하고 있는 수강생입니다. 최근 셀레늄을 사용하여 웹사이트 크롤링을 시도하는 과정에 아래와 같은 문제가 발생하고 있는데요, "Cannot call non W3C standard command while in W3C mode" Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'System info: host: '761e5aa9c257', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '5.4.0-1028-gcp', java.version: '1.8.0_265'Driver info: driver.version: unknownError: Summary: UnknownCommand Detail: The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource. class: org.openqa.selenium.UnsupportedCommandException Further Details: run errorDetails method 혹시 이 문제에 대해 해결책을 알 수 있을까요?
- 해결됨R로 하는 웹 크롤링 - 실전편
수업관련 문의
선생님 안녕하세(요. 다름이 아니라, 질문 하나 드리고 싶습니다. 제가 네이버 카페 텍스트 마이닝을 하려고 하는데, 일단 기사 관련해서 텍스트 마이닝은 할 수 있는 실력 수준입니다. 궁금한 점은 네이버 카페 같은 경우 웹스크래핑이나 크롤링을 선생님 강의에 올려주신 다음 카페나 네이버 블로그 하는 방식처럼 하면 되는 건가요? 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
- 미해결R로 하는 웹 크롤링 - 실전편
오류무시 code 관련
k <- 1content <- c() for(k in 52:length(fin_url)){ if(class(try(b <- readLines(fin_url[k], encoding = "UTF-8"))) == "try-error"){ cont <- ""content <- c(content,cont) } else{ aindex <- which(str_detect(b,"</figure>")) bindex <- which(str_detect(b, "<div class=\"foot_view\" data-cloud-area=\"addition\">")) b2 <- paste(b[aindex:bindex], collapse = " ") cont <- str_trim(gsub("<.*?>","",b2)) content <- c(content,cont) cat("\n",k) } 연속으로 진행되지 않고 잘리는 상황이 지속됩니다. 오류 무시가 작동을 하지 않는 이유를 모르겠습니다. 오타인지요?
- 해결됨R로 하는 웹 크롤링 - 실전편
위도 경도 가져오기
Encoding(keycard)를 하면 UTF-8 이 나오고 iconv(keyward, from = "CP949", to = "UTF-8") > NA #가 나옵니다. from과 to를 변경하여 보면 전혀 다른 문자가 나옵니다. 해결 방법이 없을 지요? 계속 예기에서 막혀서 진행이 않됩니다.
- 해결됨R로 하는 웹 크롤링 - 실전편
encoding 해결 방법
encoding을 euc-kr로 변경했으나 글자가 깨집니다. 다른 방법이 없을지요! 저는 맥을 사용하는데 os때문에 해결되지 않는 것인지 알고 싶습니다.
- 미해결R로 하는 웹 크롤링 - 실전편
대량의 뉴스데이터를 보고싶다면 어떻게 해야하나요?
선생님 안녕하세요. 뉴스데이터를 일별로 보는 것이 아니라 몇천 개 정도 되는 데이터를 보고싶은데 그렇다면 먼저 엑셀파일에 정리하고 시작을 하나요? 제가 코로나 관련 뉴스 데이터를 보고싶은데 좀 난감해서요 빅카인즈로 분석해볼까 고민도 했는데 그것도 쉽지 않아서 혹시 분석하는 방법 알려주실 수 있나요..?
- 미해결R로 하는 웹 크롤링 - 실전편
자바스크립트 및 iframe으로 구성되어 있는 웹페이지 크롤링 문의
안녕하세요, 네이버 금융의 종목분석 페이지에 나와 있는 재무정보를 크롤링하고자 하는데 문제에 부딪쳐 문의 드립니다. (https://finance.naver.com/item/coinfo.nhn?code=005930) 아래 두 가지 방법으로 크롤링을 시도해보았습니다. 1) 강의에서 말씀하신 숨겨진 주소를 찾아서 크롤링 : 크롬 개발자 도구에서 Network 검사를 통해 숨겨진 주소를 확인하고 (이 경우 네이버가 지속적으로 인증값을 바꿈) JSON 형식으로 된 재무정보를 깔끔하게 불러들일 수 있으나, 인증값이 계속 바뀌기 때문에 이 부분을 핸들링 하는 것이 어려움. 따라서 아래 셀레니움을 이용한 방식을 사용하고자 하는데요, 2) 셀레니움을 통한 크롤링 : 따라서 셀레니움을 통해 크롤링을 시도했으나 소스가 iframe으로 보호되어 크롤링이 어렵습니다. 개발자도구에서 버튼의 xpath를 확인해도 정작 R에서는 읽어들이지 못하고 (iframe으로 숨겨진 탓으로 보입니다) css selector라는 크롬 익스텐션으로는 아예 재무정보 부분이 블록되어 있어서 제대로 된 xpath를 읽지 못합니다. 이 경우 핸들링을 어떻게 해야 할까요? 셀레니움 강의 부분은 짧아서 다른 정보를 찾아봤지만 파이썬으로 내용이 많이 나와 R과는 조금 다른 듯 합니다.
- 미해결R로 하는 웹 크롤링 - 실전편
어떤 문제로 인해 na 가 발생하는걸까요? 블로그 크롤링 부분입니다.
keyword<-"신촌 맛집" > keyword <- iconv(keyword, from = "CP949", to ="UTF-8") > keyword [1] NA
- 미해결R로 하는 웹 크롤링 - 실전편
이미지 크롤링 개수를 80개 이상으로 하는 방법도 있을지요?
안녕하세요? 많은 것을 배워가고 있습니다. 알차고 훌륭한 강의 정말 감사드립니다..! 한가지 질문은 이미지 크롤링시, 아마도 daum 의 웹사이트 특성 상 처음 80개 까지만 담기는 것 같은데.... 실제로 다음에서 이미지 검색을 해 보면 80개 이상의 이미지를 볼수는 있어서.... 크롤링에서도 80개 이상의 이미지를 크롤링할 수 있는 방법이 있을지 문의드립니다. 감사합니다!