Twitter는 가장 인기 있는 소셜 미디어 플랫폼 중 하나로, 매일 수백만 명의 사용자가 자신의 생각과 의견을 트윗하고 공유합니다. 그 결과 Twitter는 사용자 행동, 정서 및 추세를 분석하려는 기업, 연구원 및 개발자에게 귀중한 데이터 소스가 되었습니다.
Twitter에서 데이터를 얻는 가장 좋은 방법은 공식 API를 사용하는 것입니다. 그러나 Twitter의 API를 사용하는 것은 점점 더 제한적으로 변하는 추세입니다. 그 이유는, API를 사용하여 Twitter에서 제한된 양의 데이터만 가져올 수 있기 때문입니다. 게다가 API의 가장 낮은 계층도 곧 월별 구독 형태로전환될 것이기 때문입니다. 그러므로많은 사람이 이러한 제한 없이 트위터를 스크랩할 수 있는 방법을 찾고 있습니다.
여기에서는 공식 API를 사용하지 않고 Twitter 데이터를 스크랩하는 방법에 대해 알아보겠습니다.
트위터 트윗을 스크래핑하는 방법
트윗의 경우 비공개 검색 API를 사용할 수 있습니다. 이 API는 공식적으로 문서로 만들어지지않았지만, 여전히 작동되고있습니다. 키워드, 해시태그 또는 사용자 이름으로 트윗을 검색하는 데 사용할 수 있습니다. API는 트윗과 함께 JSON을 반환하며 이를 구문 분석하고 저장할 수 있습니다.
해당 API의 사용은 2단계로 구성됩니다.
퀘스트 토큰 얻기
검색 요청하기
퀘스트 토큰 얻기
이 검색 API는 인증되지 않은 사용자가 사용하기 위한 것이지만 불필요하게 요청과 함께 전송되는 토큰이 필요합니다. 이 토큰을 퀘스트토큰이라고 하는데, 아래 URL에 대한 POST 요청을 작성하면 토큰을 얻을 수 있습니다. https://api.twitter.com/1.1/guest/activate.json 이 요청 자체에는 정적이며 끝점에서는 항상 같은 Bearer토큰을 필요로 합니다.
검색 요청 만들기
이제 퀘스트 토큰을 사용하여 검색 요청을 할 수 있습니다. 검색 요청은 아래 URL에 대한 GET 요청입니다. https://api.twitter.com/2/search/adaptive.json 또한 이전 요청과 동일한 Bearer 헤더를 추가해야 합니다.
고급 검색
이 예시에서는 "테스트"라는 단어를 사용했지만 키워드, 해시태그 또는 사용자 이름을 검색하고 트위터 검색(https://help.twitter.com/en/using-twitter/twitter-advanced-search)에서 사용할 수 있는 모든 기능을 사용할 수 있습니다. 고급 검색 빌더(https://twitter.com/search-advanced)를 사용하여 검색 쿼리를 구성한 다음 검색 요청의 "q" 매개변수에서 쿼리를 사용하기만 하면 됩니다. 이렇게 설정하면 다음 기준으로 트윗을 검색할 수 있습니다.
키워드
문장
제외 키워드
해시태그
언어
사용자 이름
언급
답글
날짜
최소 답변
최소 리트윗
데모
다음은 이 코드의 인터렉티브 예시입니다.
데이터를 수집하여 가공하면 알지 못했던 인사이트를 얻을 수 있습니다.
웹 데이터 크롤링과 분석은 유펜솔루션과 함께 하세요!
(본 포스팅은 https://webscraping.ai/blog/twitter-scraping-in-2023/ 의 그래프를 유펜솔루션이 재구성한 것입니다)
Comments