앞서 쓴 글(2편)에서는 Twint와 직접 만든 크롤러를 이용해 데이터를 수집하는 내용을 정리했다. 하지만 여전히 큰 문제가 남아있었다.
“1만명까지는 어떻게든 모을 수 있다. 그런데 10만 이상의 팔로워/팔로잉을 가진 유저의 데이터는 대체 어떻게 가져와야 하나?”
여기서는 몇 가지의 이슈가 충돌했다.
- “여러 계정을 한번에 가져와야 한다.”: 수집해야하는 계정이 여전히 1k+개.
- “15분 이상의 긴 수집 시간이 필요하다.”: Lambda에서는 어렵다.
- “한 IP에서 너무 많은 요청을 하면 안된다.”: 한 IP에서 너무 많은 요청을 하면 걸릴 수 있다.
- “HTML 웹 크롤링은 간혹 일부만 수집후 종료되더라.”: 트위터에서 간혹 팔로잉/팔로워를 모두 수집하지 않았음에도 (5만명중 1만명만 수집 등) 이후 Cursor를 제공하지 않아 크롤링이 정지되는 경우가 있었다.
그러다, 이 이슈를 한번에 해결할 수 있는 방법(꼼수)를 찾게 되었다.