트위터가 소셜 네트워크가 한창 성장하던 좋은 시절이 지나가고 이제 신규 사용자 증가량이 줄어들었다. 구글에서 twitter active user stats을 검색하면 2014 ~ 2015년 이후로 성장세가 크게 줄었다는 것을 볼 수 있다. 하지만 연구하는 입장에서는 아직 트위터에 올라온 수많은 사람들의 트윗이 그렇게 매력적일 수 없다. 데이터 량이 많고, 수집 방법이 쉽기 때문이다.
트위터에서 데이터를 수집하는 방법은 트위터에서 제공하는 자체 API로 특정 위치에서 발생하는 전체 트윗 중 1퍼센트를 랜덤하게 받아보는 방법이 있다. 하지만 이 포스트에서는 트위터에서 특정 트윗을 정했을 때, 그 트윗을 리트윗 한 사용자 목록을 직접 크롤링하는 방법을 보이고자 한다.
웹사이트는 보통 모바일 화면이 인터페이스가 단순해서 크롤링이 쉽다. 크롤링 코드를 작성하기 전에 직접 특정 메시지에 접근해서 리트윗 사용자 목록을 확인해보자.
먼저 트위터에 로그인한다(https://mobile.twitter.com/login). 모바일 트윗 로그인 화면이 아래 그림처럼 나타난다.
[그림 1. 모바일 트위터 로그인 화면]
그리고 관심 있는 사용자의 메시지를 하나 클릭해보자. 예제에서는 파이썬 소프트에서 올린 트윗이다(https://mobile.twitter.com/ThePSF/status/995317681044717570).
[그림 2. 리트윗 사용자 목록을 얻고자하는 메시지]
위 그림의 붉은색으로 표시한 곳을 보면 8명이 리트윗했다는 것을 알 수 있다. 저 버튼을 클릭해보면 아래 그림 처럼 이 트윗을 RT한 사람 목록이 나타난다 (https://mobile.twitter.com/ThePSF/status/995317681044717570/retweets).
[그림 3. 리트윗 사용자 목록 예시]
위 그림을 접근할 수 있는 주소는 https://mobile.twitter.com/ThePSF/status/995317681044717570/retweets 와 같은 형태다.
이 주소에서 ThePSF는 이 트윗을 올린 사용자 아이디이고, status/ 와 /retweets 사이의 숫자는 메시지 아이디로 모든 메시지를 구별 가능하게 해주는 유일한 값이다.
여기서 힌트를 얻어 데이터베이스에 사용자 아이디와 메시지 아이디가 저장되어 있다고 가정하고, 이를 자동으로 크롤링하는 방법을 다음 글에서 알아보자.
다음글: 2018.05.15 - [노트정리/파이썬 Python] - 트위터에서 특정 트윗을 RT 한 사용자 목록 수집하기 (2)
'노트정리 > 파이썬 Python' 카테고리의 다른 글
conda 에서 pip 에러(ImportError: No module named _internal)가 뜰 때 해결법 (0) | 2019.01.20 |
---|---|
Jupyter Themes 에서 코드 끝을 볼 수 없을 때 해결법 (0) | 2019.01.16 |
주피터 노트북 (Jupyter Notebook) 테마 바꾸기 - 어둡게 (0) | 2018.12.21 |
트위터에서 특정 트윗을 RT 한 사용자 목록 수집하기 (2) (0) | 2018.05.15 |
파이썬에서 pickle로 오브젝트 쓰고 읽기 (object serialization) (0) | 2018.03.31 |
윈도우 10에서 theano를 백엔드로 하는 GPU 사용하는 KERAS 설치 방법 (0) | 2017.03.13 |
PyCharm에서 라이브러리 임포트(import)하는 방법 (2) | 2016.04.29 |
파이썬 에러 (0) | 2015.08.12 |