[개발 일지]
2021.04.06 - [Language/Python] - [파이썬/셀레니움] 인스타그램 봇 만들기 - 1일차 : 셀레니움 설치 및 기초
2021.04.10 - [Language/Python] - [파이썬/셀레니움] 인스타그램 봇 만들기 - 2일차 : 알고리즘 구체화
2021.04.10 - [Language/Python] - [파이썬/셀레니움] 인스타그램 봇 만들기 - 3일차 : 코드 개선
2021.04.11 - [Language/Python] - [파이썬/셀레니움] 인스타그램 봇 만들기 - 4일차 : 알고리즘 개선
2021.04.13 - [Language/Python] - [파이썬/셀레니움] 인스타그램 봇 만들기 - 5일차 : Pyqt GUI, 패키징
[중요 기능]
2022.01.05 - [Language/Python] - [파이썬/셀레니움] 인스타그램 봇 만들기 - PyQT 리스트 추가, 삭제
해시태그 검색 기능 구현
이제 해시태그를 검색 해 게시물을 찾으러 가야된다.
코드는 해시태그 박스를 클릭하고 바로 키워드를 넣으면 될 줄 알았지만
클릭 시 클래스가 동적으로 변하기 때문에 다시금 클래스를 추출하고 키워드 입력 후
주르륵 뜨는 키워드 중 첫 번째를 선택해 클릭해준다.
일반 게시물 찾아가기
인기 게시물은 대형 계정이라 맞팔에 인색하기 때문에
상단에 뜨는 9개의 인기 게시물을 건너뛰어준다.
게시물 클래스의 10번째 클래스를 클릭해주면 최근에 올라온 첫 번째 게시물이 클릭된다.
커서의 클래스를 클릭해서 프로필에 접속해준다.
팔로우 되어있는 사람 제외
이게 가장 고민했던 구문이다.
클릭 시 팔로우가 되어있다면 좋아요나 팔로우를 건너뛰고 뒤로 가야되는데
다양한 방법을 사용하다 전부 실패했는데
class_name('클래스')를 변수 e에 받아오고
e.text로 버튼의 '팔로우' 텍스트를 변환할 수 있었다.
그걸 토대로 버튼이 팔로우가 아니면 뒤로가서 다음 게시물을 탐색하고
팔로우 버튼이 살아있을 경우엔 다음 과정을 진행한다.
(이 부분은 더 공부를 해야겠다.)
팔로우와 게시물 좋아요
이제 좋아요 팔로우 DM 부분
프로필의 첫 번째 게시물을 클릭 - 좋아요 - 다음 - 좋아요 - 다음 - 게시물 닫기
이 순으로 진행되고 게시물을 닫은 다음 스크롤이 너무 내려가 있어
메시지 보내기 버튼이 안보여 오류가 나는 경우가 있기 때문에 PAGE_UP으로 스크롤을 올려준다.
메시지 보내기 버튼을 클릭 후 메세지 박스에 문구를 입력해야 하는데
클래스를 사용할 경우 좌측 계속 바뀌는 DM목록 개수에 영향을 받아 xpath로 경로를 얻었다.
그 다음은 클릭 - 텍스트 - 엔터
초기상태는 원래 URL로 이동할 수 있지만 혹시나 싶은 봇 의심을 피하기 위해
6회 뒤로가기로 이동해주었다.
셀레니움에 대해 백지 상태로 진행해본 프로그램이지만
생각보다 코드 짜기가 쉬워 2일만에 쉬엄쉬엄 만들 수 있었다.
개선점
1. 문구 여러개를 리스트에 넣어두고 랜덤으로 DM 보내기
2. 확실한 예외처리
3. 봇 차단 방지 대책
4. 파이썬 코드를 exe 파일로 제작해보기
파이썬, 셀레니움, python, selenium, 인스타그램, 봇, 인스타그램 자동화, 인스타 봇, 인스타 자동화, 인스타 자동화 프로그램 만들기, 인스타 봇 만들기, 파이썬 gui, pyqt gui, 인스타그램 차단, 인스타 밴, 인스타 차단
'Python' 카테고리의 다른 글
[파이썬/셀레니움] 인스타그램 봇 만들기 - PyQT 리스트 추가, 삭제 (0) | 2022.01.05 |
---|---|
[파이썬/셀레니움] 인스타그램 봇 만들기 - 5일차 : Pyqt GUI, 패키징 (4) | 2021.04.13 |
[파이썬/셀레니움] 인스타그램 봇 만들기 - 4일차 : 알고리즘 개선 (0) | 2021.04.11 |
[파이썬/셀레니움] 인스타그램 봇 만들기 - 3일차 : 코드 개선 (0) | 2021.04.10 |
[파이썬/셀레니움] 인스타그램 봇 만들기 - 1일차 : 셀레니움 설치 및 기초 (0) | 2021.04.06 |
댓글