메뉴 건너뛰기

프로그래밍


R에서 페이스북 페이지의 포스트를 크롤링 하는 예제입니다.

이런 저렁 방법을 많이 찾아보고 시도 하였으나 본인 것이 아닌 타인의 타임라인에 있는 포스트들을 크롤링 하는 (공개된) 방법은 없더군요.

단, 개인 타임라인이 아닌 공개 "페이지"는 가능합니다. 


#필요 패키지
install.packages("Rfacebook")
library(Rfacebook)

#페이스북 앱id 정보와 secret 값 입
fbAuth = fbOAuth(app_id = "facebook_app_id", 
                 app_secret = "facebook_app_secret",
                 extended_permissions = FALSE)

start_date = '2016/12/01'
end_date = '2017/01/30'
scrape_days=seq(from = as.Date(start_date), to = as.Date(end_date), by = 'days')

#공인 페이지s
stars <- c("iu.loen", "OfficialLeeMinho", "barackobama")
posts <- c()

#공인 페이지로부터 페이지 정보 얻기
for (i in 1:length(stars)) {
  for(scrape_day in scrape_days) {
    tryCatch(
      {
        daypost=getPage(page = stars[i],
                        token = fbAuth,
                        since = as.Date(scrape_day, origin = "1970-01-01"),
                        until = as.Date(scrape_day, origin = "1970-01-01") + 1)
        
        posts = rbind(posts, daypost)
      },
      
      error = function(e){}
    )
  }
}

View(posts)




profile
  • 안녕하세요! 포스팅을 보고 r을 공부하고 있는 학생입니다. 해당 코드를 통해서 실행한 결과 posts 페이지 결과값에서 No data available in table 이 나오는데 어떤 경우인지 알 수 있을까요?^^ 좋은 글 감사합니다.
  • profile
    안녕하세요? 혹시, 소스코드를 전혀 수정하지 않은 상태로 실행을 해 보셨다면, app_id 혹은, app_secret 의 값을 제대로 반영하였는지 확인을 부탁드립니다. 페이스북으로 부터 이 두 값을 얻는 방법은 아래 경로에 나와 있습니다^^
    http://www.bloggingshiksha.com/how-to-get-app_id-and-app_secret-key-for-facebook-applications/

    즉, 상기 주소를 참조하여 두 값을 얻어 아래의 "facebook_app_id" 와 "facebook_app_secret"의 값을 수정해 주셔야 합니다.

    app_id = "facebook_app_id",
    app_secret = "facebook_app_secret"

    감사합니다!
제목 날짜
[TIP] PYTHON 에서 "UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 6987: illegal multibyte sequence" 오류 날때... 4 2016.02.20
[TIP] JQuery와 PHP로 이미지 파일을 업로드 하는 간단한 소스 (How to upload image file on PHP server by using JQuery) 2015.04.03
[TIP] TensorFlow를 윈도우에서 사용하기 (A way to use TensorFlow on Windows) 3 2016.04.16
홈페이지 주인님 소스에 대한 질문입니다 1 2009.05.12
필요한 모든 파일 합쳐서 하나의 .exe 파일 만들기 2003.08.27
프로세스간 통신을 위한 간단한 팁 2000.08.14
타이머 관련해서 질문 드립니다. 1 2005.10.20
클라이언트에서 서버에 접속시 버전체크후 다운받는루틴 1 2005.10.12
추가질의좀...VESA 확장 바이오스 함수로 화면 전화은 어떻게... 1 2005.06.08
질문]winCE Platformbuilder에관하여 1 2005.05.16
제로보드에 GUNCLIENT 컨트롤 적용하는 방법 2003.12.30
전처리기(Preprocessor) 갖고 놀기 2000.08.03
자작 커널을 위한 인터럽트 벡터 수정 (EZ-2410보드 대상) 2013.05.04
인터넷 익스플로러 툴바(툴밴드) 관련 소스링크 2003.07.23
인터넷 가능한지 알아보기 2004.05.12
위치추적 1 2013.04.06
온라인게임에서 CRC check 차단하는법, 1 2005.12.18
어디에 있는지... 1 2003.07.30
알고리즘 구현...(1) 1999.06.05
시리얼통신관련 질문..(응답속도에 관해..) 1 2006.04.03
시리얼 통신 DCB 셋팅 1 2005.10.05
소스코드에 대한 추가질문입니다^^ 1 2009.05.26
비주얼 C++과 MASM 사용하기 2000.09.07
태그 목록
위로