메뉴 건너뛰기

프로그래밍


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" 오류 날때... 2 2016.02.20
[TIP] JQuery와 PHP로 이미지 파일을 업로드 하는 간단한 소스 2015.04.03
[TIP] TensorFlow를 윈도우에서 사용하기 (A way to use TensorFlow on Windows) 3 2016.04.16
[TIP] 인터넷으로 문자메시지 (SMS) 보내기 2008.03.23
[TIP] 파이선에서 Redis 이벤트 받기 2017.10.12
[TIP] 파이선에서 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position ... 오류 해결 방법 2017.09.29
[TIP] The function size must be used with a prefix when a default namespace is not specified 오류 해결하기 2017.08.02
[TIP] 페이스북 개인 담벼락의 좋아요수 크롤링하기 2017.07.15
[TIP] 자바스크립트와 PHP코드간에 암호화 통신하기 (Encrypt with Javascript, Decrypt with PHP) 2017.03.16
[TIP] GUNMAN의 영화 점수 테이블을 이용한 딥러닝 예제 2017.02.15
[TIP] R에서 페이스북 페이지 정보 크롤링 하기 2 2017.02.11
[TIP] 네이버 영화 정보와 전문가 평점 얻어오기 2017.02.10
[TIP] 네이버 오픈 API를 로컬 PC에서 호출하기 2017.02.01
[TIP] php로 기상청에서 제공하는 기상정보 API 호출하기 2017.01.17
[TIP] node 에서 Basic authentication 인증과 함께 http, https 요청하기 2016.09.01
[TIP] node의 lambda-local 테스트 팁 2016.08.19
[TIP] 데이터를 Node에서 암호화하고 PHP에서 복호화 하기 2016.08.19
[TIP] Docker상의 Syntaxnet 결과 포맷을 수정하기 2016.08.07
[TIP] SyntaxNet을 Windows에서 실행하기 1 2016.05.25
[TIP] TensorFlow를 윈도우에서 사용하기 (A way to use TensorFlow on Windows) 3 2016.04.16
[TIP] 파이선으로 TED에서 가장많이 사용된 단어들 줄세우기 2016.04.03
[TIP] 파이선에서 구글 스프레드시트 사용하기 5 2016.03.27
[TIP] 파이선에서 리스트를 사용하는 재미있는 예제 2016.03.15
[TIP] PYTHON 에서 "UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 6987: illegal multibyte sequence" 오류 날때... 2 2016.02.20
태그 목록
위로