snscrape는 소셜 네트워킹 서비스(SNS)용 스크레이퍼입니다. 사용자 프로필, 해시태그 또는 검색과 같은 항목을 스크랩하고 검색된 항목(예: 관련 게시물)을 반환합니다.
현재 지원되는 서비스는 다음과 같습니다.
snscrape에는 Python 3.8 이상이 필요합니다. snscrape를 설치할 때 Python 패키지 종속성이 자동으로 설치됩니다.
종속성 중 하나인 lxml을 사용하려면 libxml2 및 libxslt도 설치되어 있어야 합니다.
pip3 install snscrape
개발 버전을 사용하고 싶다면:
pip3 install git+https://github.com/JustAnotherArchivist/snscrape.git
snscrape CLI의 일반 구문은 다음과 같습니다.
snscrape [GLOBAL-OPTIONS] SCRAPER-NAME [SCRAPER-OPTIONS] [SCRAPER-ARGUMENTS...]
snscrape --help
및 snscrape SCRAPER-NAME --help
옵션과 인수에 대한 세부 정보를 제공합니다. snscrape --help
에는 사용 가능한 모든 스크레이퍼도 나열됩니다.
CLI의 기본 출력은 각 결과의 URL입니다.
주목할만한 글로벌 옵션은 다음과 같습니다.
--jsonl
출력을 JSONL로 가져옵니다. 여기에는 snscrape에서 추출한 모든 정보가 포함됩니다(예: 메시지 내용, 날짜 시간, 이미지, 세부 정보는 스크레이퍼에 따라 다름).--max-results NUMBER
처음 NUMBER
결과만 반환합니다.--with-entity
스크래핑되는 엔터티(예: 사용자 또는 채널)에 대한 항목을 가져옵니다. 모든 스크레이퍼에서 지원되는 것은 아닙니다. (이것을 --max-results 0
과 함께 사용하면 엔터티 정보만 가져올 수 있습니다.) Jason Scott(@textfiles)의 모든 트윗을 수집하세요.
snscrape twitter-user textfiles
일반적으로 추가 처리를 위해 출력을 파일로 리디렉션하는 것이 유용합니다(예: bash에서 twitter-@textfiles
파일 이름을 사용).
snscrape twitter-user textfiles > twitter-@textfiles
#archiveteam 해시태그가 포함된 최신 트윗 100개를 얻으려면:
snscrape --max-results 100 twitter-hashtag archiveteam
Python에서 snscrape를 라이브러리로 사용하는 것도 가능하지만 현재 문서화되지 않았습니다.
snscrape 관련 문제를 발견하면 https://github.com/JustAnotherArchivist/snscrape/issues에 보고해 주세요. CLI를 사용하는 경우 -vv
와 함께 snscrape를 실행하고 문제에 로그 출력을 포함하십시오. snscrape를 모듈로 사용하는 경우 import logging; logging.basicConfig(level = logging.DEBUG)
(snscrape를 사용하기 전) 문제에 로그 출력을 포함합니다.
경우에 따라 디버깅에는 로그에서 사용할 수 있는 것보다 더 많은 정보가 필요할 수 있습니다. CLI에는 중요한 로그 메시지를 기반으로 snscrape 내의 모든 로컬 변수를 덤프할 수 있는 --dump-locals
옵션이 있습니다(기본적으로 충돌 시에만 덤프되지 않음). 어떤 경우에는 덤프 파일에 민감한 정보가 포함될 수 있으며 잠재적으로 귀하를 식별하는 데 사용될 수 있습니다(예: 서비스 응답에 귀하의 IP 주소가 포함된 경우). 개인적으로 파일 전송을 준비하고 싶다면 이슈에 언급해 주시기 바랍니다.
이 프로그램은 무료 소프트웨어입니다. 자유 소프트웨어 재단(Free Software Foundation)에서 발표한 GNU General Public License(라이센스 버전 3) 또는 (귀하의 선택에 따라) 이후 버전의 조건에 따라 재배포 및/또는 수정할 수 있습니다.
이 프로그램은 유용할 것이라는 희망으로 배포되지만 어떠한 보증도 제공하지 않습니다. 상품성이나 특정 목적에의 적합성에 대한 묵시적인 보증도 없이 말입니다. 자세한 내용은 GNU 일반 공중 사용 허가서를 참조하세요.
이 프로그램과 함께 GNU General Public License 사본을 받으셨을 것입니다. 그렇지 않은 경우 https://www.gnu.org/licenses/를 참조하세요.