[Python] Clicknium을 통한 Facebook Scraper
페이스북 스크레이퍼
Clicknium을 사용하여 Facebook 게시물을 스크랩하는 샘플입니다.
준비
Clicknium
Facebook 게시물 스크랩
Facebook 회사 페이지의 게시물을 예로 스크랩하겠습니다.
파이썬 프로젝트 생성
프로젝트 폴더 아래에 Python 파일(예:
sample.py
)을 만듭니다.VS Code Explorer 아래에
Locators
를 표시합니다.캡처 로케이터
로케이터는 UI 요소를 대상으로 하는 도구입니다.
Capture
버튼을 클릭합니다.이 기능을 사용하면 동일한 구조를 가진 페이지의 모든 게시물을 가져올 수 있습니다.
Ctrl + Click
를 사용하여 Facebook의 첫 번째 게시물 단어 캡처: 5개의 요소가 일치하는 것을 볼 수 있습니다. 저장 버튼을 클릭하고 완료합니다.
로케이터를 통해 텍스트 가져오기:
로케이터 대상을 얻으려면 find_element 함수를 사용할 수 있습니다. 이 시나리오에서는 find_elements 함수를 사용하여 결과 배열을 가져올 수 있도록 여러 게시물을 가져와야 합니다.
UIs = cc.find_elements(locator.facebook.posts)
Python 코드에서
Locator.
를 사용하여 이 프로젝트에서 Clicknium을 사용하여 캡처한 로케이터를 사용할 수 있습니다. 프로젝트 간에 동일한 로케이터를 사용해야 하는 경우 로케이터 저장소를 클라우드 로케이터 저장소로 만들고 어디서나 참조할 수 있습니다.UI 요소를 가져올 때 텍스트 정보를 포함할 수 있는 요소 속성을 찾아야 합니다. Web elements property 을 확인하십시오. 속성
innertext
이 우리에게 필요한 것입니다. uis = cc.find_elements(locator.facebook.posts)
for ui in uis:
text = ui.get_property("innertext")
작동 여부를 확인하기 위해 텍스트를 인쇄할 수 있습니다.
작동하지 않으면 로케이터 페이지를 확인하여 속성을 조정해야 합니다. 로케이터는 ID UI 요소를 사용합니다.
위 페이지에서 몇 가지 빠른 유효성 검사 및 작업을 수행하여 로케이터가 작동하는지 여부를 확인할 수 있습니다. 또한 UI 요소를 찾는 데 사용할 특성을 선택하고 수정할 수도 있습니다.
다음 페이지로 이동
페이지를 아래로 스크롤하면 Facebook 콘텐츠가 로드됩니다. 따라서 한 번 캡처하면 모든 정보를 얻을 수 없습니다. 그래서 우리는 각 페이지를 캡처해야 합니다. 마우스의 스크롤 동작을 모방하면 제어하기 어려울 것입니다. 따라서 가장 좋은 선택은 키보드의
PageDown
버튼을 사용하는 것입니다. send_hotkey 함수를 사용하면 쉽게 할 수 있습니다. Code
에 대한 PageDown
는 {PGDN}
입니다.cc.send_hotkey("{PGDN}")
우리는 모든 게시물을 얻기 위해 while 루프를 사용할 수 있습니다. 다중 캡처는 시간 동안 동일한 게시물을 가져오므로 사전을 사용하여 게시물을 저장하고
ancestorid
를 키로 사용할 수 있습니다.소스 코드
GitHub
Reference
이 문제에 관하여([Python] Clicknium을 통한 Facebook Scraper), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kayyolo/pythonfacebook-scraper-via-clicknium-48k3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)