본문 바로가기
Python

[파이썬/셀레니움] 인스타그램 봇 만들기 - PyQT 리스트 추가, 삭제

by LasBe 2022. 1. 5.
반응형

[개발 일지]

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] - [파이썬/셀레니움] 인스타그램 봇 만들기 - Pqty 리스트 추가, 삭제

 

해시태그, DM 리스트 추가 삭제

내가 원하는 해시태그를 타게팅하고 상대에게 원하는 DM을 보내기 위해서는

그 내용들을 담아둠과 동시에 추가와 삭제 기능이 필요합니다.

 

위 사진을 보면 알겠지만 해시태그와 DM내용의 모습과 기능이 완벽하게 일치하는 것을 볼 수 있습니다.

 

즉 하나만 만들어 두면 나머지 하나는 대충 복붙으로 쉽게 구현이 가능합니다.

 

그렇다면 어떻게 구성되고 작동하는지 아래의 순서대로 알아보겠습니다.

  • 객체 클래스 설정
  • 초기화 및 함수 선언
  • 리스트의 데이터 사용하기

 

 

1. 객체 클래스 설정

각 객체들의 클래스는 다음과 같이 필요합니다.

내용을 기입할 LineEdit 하나, 데이터를 담아둘 List 하나, 추가와 삭제 기능을 할 버튼 2개.

 

아래와 같이 LineEdit과 List, 버튼들의 모양을 잘 잡아준 뒤 객체 이름을 설정합니다.

 

해시태그 추가, 삭제 버튼

 

2. 초기화 및 함수 선언

우선 버튼들을 초기화 시켜주며 함수들과 연결해줍니다.

 

그 다음 해시태그를 추가시키는 addList_hashtag 함수에 List에 LineEdit의 정보들을 담아주는 코드를 작성합니다.

 

해시태그를 삭제하는 함수는 currentRow()를 통해 리스트에서 선택한 행의 위치를 받아온 뒤

takeItem() 메소드를 통해 파라미터로 행의 정보를 넣어주면 됩니다.

 

class WindowClass(QMainWindow, form_class):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.btn_hashtag.clicked.connect(self.addList_hashtag)
        self.btn_hashtag_del.clicked.connect(self.removeItem_hashtag)
		...

    def addList_hashtag(self) :
        self.list_hashtag.addItem(self.line_hashtag.text())

    def removeItem_hashtag(self) :
        # ListWidget에서 현재 선택한 항목을 삭제할 때는 선택한 항목의 줄을 반환한 후, 
        # takeItem함수를 이용해 삭제합니다. 
        self.removeItemRow = self.list_hashtag.currentRow()
        self.list_hashtag.takeItem(self.removeItemRow)

 

3. 리스트의 데이터 사용하기

마지막으로 이렇게 추가, 삭제한 리스트의 데이터를 불러오겠습니다.

 

아래와 같이 메인 기능을 하는 함수 안에 리스트에 존재하는 데이터들을 배열로 가공해줍니다.

def 함수명(self):
	insta_hashtag = [ self.list_hashtag.item(t).text() for t in range(self.list_hashtag.count()) ]

간단하게 한줄을 사용해 데이터들을 배열에 담아주었습니다.

 

self.리스트명.count() 를 통해 데이터의 개수를 리턴받아 반복문을 돌려주며

self.리스트명.item(인덱스).text() 로 인덱스 번호에 일치하는 데이터를 리턴받아 배열에 저장해줍니다.

 

이후 이 배열은 사용자의 의도대로 사용하면 됩니다.

 

더보기
더보기

파이썬, 셀레니움, python, selenium, 인스타그램, 봇, 인스타그램 자동화, 인스타 봇, 인스타 자동화, 인스타 자동화 프로그램 만들기, 인스타 봇 만들기, 파이썬 gui, pyqt gui, 인스타그램 차단, 인스타 밴, 인스타 차단

반응형

댓글


오픈 채팅