동적 웹사이트를 다루기에는 역시 selenium이 제일 편하여 selenium을 사용해서 만들었습니다. 작동 순서는 다음과 같습니다.
- 인스타 그램 접속
- 인스타 그램 로그인
- 팔로잉 팔로우 비교할 ID 입력
- 입력된 ID 피드 접속
- 팔로잉, 팔로우 목록 추출
- 팔로잉 목록 중 팔로우에 없는 ID추출
위 순서로 프로그램이 진행됩니다.
로그인을 마치고 피드에 들어가면 다음 목록을 볼 수 있습니다.
여기서 팔로우 241 명 ID를 추출한 후 팔로워 275명 ID에 하나씩 대입해서 같은 값이 있는지 찾아봅니다. 만약 제가 팔로우하는 사람이 저를 팔로우하지 않았다면 그 아이디를 추출합니다. 이 과정은 팔로워, 팔로우의 class 값을 find_element_by_class_name를 이용하여 찾습니다. 그 후 팔로워, 팔로우 ID 값을 pandas series에 df1, df2로 저장하고 df1과 df2를 비교하였습니다.
이 작업을 하던 중 팔로워 목록이 스크롤을 다 내려주지 않으면 HTML에 뜨지 않기 때문에 스크롤하는 과정을 추가해 줬습니다. 이 작업으로 인해 좀 오래 걸리네요...
작업이 완료되면 아래같이 목록이 추출됩니다! 제가 팔로우하는 사람 중에도 저를 팔로우 안 하는 사람이 많았네요 ㅎㅎ 28명이면 10명 중 한 명은 안 했구나 ㅎㅎ 사람 관계에 소홀히 하지 않게 노력해야겠습니다ㅎㅎ
프로그램 구상부터 실행 장면도 한번 쭉~ 보았습니다. 프로그래밍의 매력은 생각을 실현해낸다는 게 매력적입니다. 물론 하나하나 다 찾아서 볼 수도 있지만 팔로워가 1000명 또는 그 이상인 분들은 시간이 어마어마하게 오래 걸리겠죠??
그리고 제가 단순히 만든 프로그램이지만 또 누군가는 필요로 하는 서비스 일 것입니다. 이런 가치를 만들어 가는 것이 매우 재미있습니다. 제가 만든 가치로 누군가에게 큰 도움이 되고 사회에 긍정적인 영향을 주는 프로그램도 만들고 싶네요 ㅎㅎ