2016-08-08 2 views
-1

나는 페이스 북에서 내 친구들의 목록을 수집 한 후 데이터가있는 웹을 구성한다는 목표로 그들과 상호적인 친구들의 목록을 긁어 모으고 있습니다. 나는 공식 facebook API를 보았고 그렇게 할 수없는 것 같아서 웹 페이지에서 단순히 긁어 모으기로 결정했다.긁을 때 '끝없는'웹 페이지를 다루는 방법

기계화를 사용하여 로그인 한 후 페이지를 긁어서 한 번에 20 명의 친구 만로드하고 스크롤하면 더 많은 페이지가로드된다는 것을 알았습니다. 그는 기계를 통해 보았지만 솔루션을 찾을 수 없었습니다. 페이지를 수프하기 전에 몇 초 동안 잠을 자려고했는데 작동하지도 않았습니다.

여기에서 어디로 가야할지 확실하지 않으면 어쨌든 기계화에서 스크롤을 에뮬레이트 할 수 있습니까? (어떤 윈도우가 없을 때 당신은, 그러므로 어떤 창 높이를 스크롤하지 어떻게?)

+0

Facebook은 서면 허가를 받아 스크래핑을 허용하지 않습니다. 따라서 API를 사용하십시오. – WizKid

+0

만약 내가 할 수 있으면. –

답변

0

당신이 실제 웹 페이지를 시뮬레이션 할 Selenium를 사용하지 않는 한, 당신이 "스크롤"시뮬레이션 할 수 없습니다

당신은이 있다고 언급 친구의 친구를 가져올 수있는 API에는 없지만 사용자의 친구 목록을 가져올 수있는 API function이있는 것으로 보입니다.

이것이 작동하지 않는다면, FB가 친구들의 다음 목록을 가져 오는 데 사용하는 아약스를 추적하여 더 많은 정보를 가져올 수 있습니다.

+0

셀레늄을 가리켜 주셔서 감사합니다. API 함수는 친구 불러 오기를 할 때 다음과 같은 메시지가 나타납니다. "이 앱을 설치 한 친구 만 API v2.0 이상에서 반환됩니다. 요약의 total_count는 설치하지 않은 친구를 포함하여 총 친구 수를 나타냅니다. 앱. " –

+0

@AstorThrope는 질문에 대답하면 내 대답을 자유롭게 선택할 수 있습니다. – lonewaft

+0

필자는 m.facebook.com에서 mechanize를 사용하여 전체 친구 목록을 얻었습니다. regex를 사용하여 URL (다음)을 인식하고 페이지 당 페이지를 탐색하여 모든 친구 (분명히 볼 수있는 목록 (권한))를 얻습니다. –

관련 문제