[Python] TWINT 를 이용해서 트위터 스크래핑(긁어오기)

트위터 API를 이용해서 이것저것 만들어 보려고 개발자 등록을 신청하려고 하는데 다른 곳과는 다르게 개발자들이 싫은듯한 눈치인 트위터.

신청 글도 뭔가 많이 쓰라고 하고 길게 쓰라고 하고 다 썼더니 메일을 보내와서 보강내용 보내라고 하고 보냈더니 더 보강해서 보내라고 하고..

상사한테 뭔가 체크받는 기분이 들어서 그냥 안하고 아이프레임으로 위젯이나 사용하려고 일단 적용해 놨는데 웬지 좀 모자라 보인다.

그래서 다시 검색하다 보니 스크래핑 툴이 있긴 한데 요건 또 파이썬으로 만든 것이라..

파이썬을 만질일이 없어 이것저것 검색하다가 작동 완료 확인 하고 그 과정을 혹시 나중에 볼까 싶어 기록해 놓는다.

시놀로지에 파이썬 + PIP 설치

일단 운영중인 NAS에서 사용할거라 시놀로지가 없거나 하면 건너띄면 된다.

  1. 패키지센터에서 python 최신으로 하나 설치
  2. SSH 접속 – 터미널 ON
  3. sudo su
  4. python3 -m ensurepip (pip 설치)
  5. python3 -m pip install –upgrade pip (pip 업데이트)
  6. python3 -m pip -V (pip 버전 확인)
  7. python3 -m pip install 패키지명 (pip 패키지 설치) <- 일반적인 상황. twint에는 사용 NO

TWINT 설치

웬지 기본 설치 명령어로 설치하면 에러가 나서 해당 깃헙에 가서 검색해보니 같은 에러를 맞이한 사람이 엄청 많더라.

그 사람들이 제시한 팁대로 하니 정상작동 하니 그걸로 설명을 대체한다.

  1. SSH 접속 – 터미널 ON
  2. pip install –user –upgrade git+https://github.com/twintproject/twint.git@origin/master#egg=twint
  3. python3 -m site –user-base 로 경로 확인
  4. 3번에서 확인한 경로 안에 twint 설치 확인
  5. 설치 완료

TWINT 샘플 py 스크립트 코드

import twint

c = twint.Config()
c.Username = "긁어올 트위터 유저 ID"
c.Search = "from:유저 ID -filter:replies" # 
c.Limit = 10
c.Store_json = True
c.Output = "json파일경로"
c.Hide_output = True

twint.run.Search(c)

기타 설정은 https://github.com/twintproject/twint/wiki 페이지를 참조하자.

Leave a Comment