https://hoonstudio.tistory.com/304

 

[파이썬] 좋아요 봇 개선중

지난번테스트 결과확인하고 자체피드백 500건미만이 찍혀있었다. 코드실행 오류 및 화면하얗게처리 되어있어씀 ㅡ 인스타정책때문인가. 테스트진행. https://hoonstudio.tistory.com/m/303 [파이썬] 인스

hoonstudio.tistory.com

이렇게 파이썬 파일을 실행파일로 만들었고

 * 명령어 : pyinstaller --onefile 파일명

 (pip install pyinstaller로 미리 라이브러리가 설치되어 있어야함)

 

이렇게 스케쥴러를 걸었다

 스케쥴링 내용은 각각 한글 태그, 영문태그인데, 한국인이 활동하는 06~24시는 한글태그, 그외에 영어를 사용하는 외국인 활동시간을 00~06시 타겟으로 진행하였다. 횟수는 파이썬 코드에 하드코딩되어 있다. 매번 내가 입력할수도 있지만, 그렇다면 자동화가 아니기에 미리 계산해서 넣었다.

 

동시에 작업하면 더 좋지 않은가, 시간 간격을 20초 이내로 하면 더 빠르지 않겠냐는 의문이 생길순 있겠지만,

인스타그램에 불법으로 걸리지 않게끔 하기 위해서 조정하였다.

 

어제 20~30개 좋아요 수준이었던 내 최신 게시글이 왠지 모르게 중간에 파이썬이 멈추기는 하였지만,

현재는 110개를 넘어섰다. 확실히 효과가 있는 것 같다.

 

이 작업스케쥴러로 일주일만 돌려보면 어떤 현상이 발생할지 궁금하다.

물론, 중간중간 신규 피드를 올려야겠지?

Posted by 유영훈
,

지난번테스트 결과확인하고 자체피드백

500건미만이 찍혀있었다. 코드실행 오류 및 화면하얗게처리 되어있어씀
ㅡ 인스타정책때문인가. 테스트진행.

https://hoonstudio.tistory.com/m/303

[파이썬] 인스타그램 좋아요 봇 따라해보기

아래 출처에서 인스타그램 좋아요 봇 파이썬 코딩을 보고 따라해보았다 주의해야할 점은  - 인스타그램 2차 비밀번호 인증 해제  - 페이스북으로 로그인 하였다면, 인스타그램 비밀번호도 설정

hoonstudio.tistory.com



코드수정 완료
ㅡ 좋아요찍힌것은 안찍히도록
ㅡ 처음 로그인 페이지 2번나오는것 처리
ㅡ 로그인정보 나중에하기 클릭 추가
ㅡ 인기게시물이 아닌 새게시물로
ㅡ 시간을 20~25초 랜덤으로. 타임 슬립.

개선포인트
ㅡ 실행파일화 해서 스케쥴러로 각 태그별 돌리는것
  ㅡ 어느시간대에 그 태그가 잘사용되는지
  ㅡ 로그인정보 암호화 처리 및 소스코드 못보도록 보안설정
ㅡ 특정 아이디 또는 키워드는 제외하기

확인된것
ㅡ 내가 브라우져안띄우거나 다른작업해도 영향없음

확인필요
ㅡ 동시브라우져 띄워서 작업가능한지 (계정 1개 또는 다수)

Posted by 유영훈
,

파이썬 selenium webdriver 로드오류 해결 (방법 : r 앞에 붙이기)

C:\Users\user\AppData\Local\Programs\Python\Python39\python.exe C:/02.lab/20210714_insta_py/01_like_bot.py
Traceback (most recent call last):
  File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\common\service.py", line 72, in start
    self.process = subprocess.Popen(cmd, env=self.env,
  File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 947, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1416, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] 지정된 파일을 찾을 수 없습니다

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\02.lab\20210714_insta_py\01_like_bot.py", line 2, in <module>
    driver = webdriver.Chrome('C:\02.lab\20210714_insta_py')
  File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 73, in __init__
    self.service.start()
  File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start
    raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: '.lab‚10714_insta_py' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home


Process finished with exit code 1

* 참고 블로그 : https://emessell.tistory.com/148

 

[PYTHON] selenium webdriver 경로 설정하기

selenium.common.exceptions.WebDriverException: Message: 'chromedriver.exe' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home selenium.c..

emessell.tistory.com

 

Posted by 유영훈
,

아래 출처에서 인스타그램 좋아요 봇 파이썬 코딩을 보고 따라해보았다

 

주의해야할 점은

 - 인스타그램 2차 비밀번호 인증 해제

 - 페이스북으로 로그인 하였다면, 인스타그램 비밀번호도 설정

 - 이상하게 1번 로그인 시도후에 또 로그인창이 떠있어서 재빠르게 수동으로 로그인정보 봇붙으로 진행하였다.

   이부분은 내가 수정해볼수있도록 여러번 테스트해볼것이다.

 

결과 : 실제로 로봇처럼 되었다. 

 

테스트 : 나는 인스타를 운동계정으로 활용하고 있어서 '운동하는직장인'으로 해시태그를 찾아서 좋아요를 누를 것이다

 - 간격: 23초 으로 진행

 - 진행시간 : 13시간= 780분 => 분당 2.6번

 - 예상 좋아요 기록 : 2034.783번 

 - 테스트 좋아요 건수 : 2035번

 => 숫자체크를 실제로 다 하지는 못하겠지만, 내가 올린 피드에 좋아요 숫자를 누르는 것 관전포인트

  (현재 좋아요 29개 - 오늘게시글)

 

* 좋아요 기록 보기 : https://blog.hangyeong.com/1342

 

인스타그램 좋아요 기록 확인 방법

모든 쇼셜미디어의 호감도 표시는 좋아요로 대변된다. 페이스북의 손가락 좋아요를 시작으로 인스타그램의 하트 좋아요, 유튜브 역시 좋아요를 통해 호감도를 표시한다. 블로그도 마찬가지다.

blog.hangyeong.com

 

파이썬 코딩 출처 : https://private.tistory.com/92

 

인스타그램 자동 좋아요 프로그램 만들기 - 파이썬(python), 셀레니움(selenium) - 로그인, 원하는 횟

구현 기능 - 인스타그램 로그인, 설정한 횟수만큼 자동 좋아요 작업 작업환경 - 윈도우10, VS Code, Python3 오늘 구현해 볼 기능은 아주 간단한 인스타그램 로그인과 설정한 횟수만큼 자동으로 좋아

private.tistory.com

 

# -*- coding: utf-8 -*-
from selenium import webdriver
import inspect, os, platform, time

def bot():
    #필요한 변수 정의
    insta_id = input('인스타그램 아이디 : ')
    insta_pw = input('인스타그램 패스워드 : ')
    insta_tag = input('작업할 해시태그 : ')
    insta_cnt = int(input('작업횟수(숫자만) : '))

    #크롬드라이버 로딩
    options = webdriver.ChromeOptions()
    options.add_argument('--disable-gpu')
    options.add_argument('user-agent=Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36')

    current_folder = os.path.realpath( os.path.abspath(os.path.split(inspect.getfile(inspect.currentframe()))[0]))

    if platform.system() == 'Windows':
        driver_path = os.path.join(current_folder, 'chromedriver.exe')
    else:
        driver_path = os.path.join(current_folder, 'chromedriver')

    driver = webdriver.Chrome(driver_path, options=options)
    driver.implicitly_wait(10)

    ### 인스타그램 자동 좋아요 작업 ###
    #
    # 1. 인스타그램 로그인 페이지로 이동
    driver.get('https://www.instagram.com/?hl=ko')
    print('로그인중....')
    time.sleep(3)

    # 2. 아이디 입력창을 찾아서 위에서 입력받은 아이디(insta_id)값 입력
    id_input = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[1]/div/label')
    id_input.click() #입력창 클릭
    id_input.send_keys(insta_id)

    # 아이디 입력 # 2-1. 패스워드 입력창을 찾아서 위에서 입력받은 패스워드(insta_pw)값 입력
    pw_input = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[2]/div/label')
    pw_input.click()
    pw_input.send_keys(insta_pw)

    # 3. 로그인 버튼 클릭
    login_btn = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[3]/button')
    login_btn.click() # 잠시 대기 time.sleep(3)

    # 4. 작업할 해시태그 검색 결과 페이지로 이동
    driver.get('https://www.instagram.com/explore/tags/{}/'.format(insta_tag))
    time.sleep(2)

    # 5. 인기게시물 첫번째 피드 선택
    first_feed = driver.find_element_by_xpath('//*[@id="react-root"]/section/main/article/div[1]/div/div/div[1]/div[1]/a/div/div[2]')
    first_feed.click()
    time.sleep(1)

    # 6. 좋아요 작업 - 입력한 횟수만큼 반복 작업
    for idx in range(insta_cnt):
        div = driver.find_element_by_xpath('/html/body/div[5]/div[2]/div/article/div')
        div = div.find_element_by_xpath('/html/body/div[5]/div[2]/div/article/div[3]')
        like_btn = div.find_element_by_tag_name('button') #좋아요 버튼

        like_btn.click() #좋아요 클릭
        print('{}번째 피드 좋아요 작업 완료'.format(idx + 1))

        # 너무 빠르게 작업을 할 경우 많은 양의 작업을 하게 되어 인스타그램측에서 계정 정지나 경고를 할 수 있으니
        # 작업과 다음 작업 사이의 속도를 조절하기 위해 20초 이상을 설정해주세요.
        time.sleep(23)

        # 7. 좋아요 작업 - 다음 피드로 이동
        if idx < insta_cnt:
            next_feed = driver.find_element_by_link_text('다음')
            next_feed.click()

    print('모든 작업 완료')
    driver.quit()


bot()
Posted by 유영훈
,

대학교 1학년때 C언어로 구구단 코딩하는 것 배웠던 것 같은데

그 당시에 혼자서 한것이 아닌 책을 참고했던 것 같다

그래서 이번에는 인터넷 서칭이나 책을 참고하지 않고 해보았다

 

태블릿으로 손으로 적어보고 코딩하니 훨씬 편했고

실제 코딩하면서 생각못했던 부분 (s_num 을 1로 다시 초기화 시켜주는 것)도

결과값을 보면서 찾아내게 되었다

 

[파이썬 코딩 - 구구단]

f_num = 1
s_num = 1

while f_num <= 9:
    while s_num <= 9:
        result = f_num * s_num
        #print(f'{f_num} * {s_num} = {result}') // f스트링
        print('{} * {} = {}'.format(f_num, s_num, result))
        s_num += 1
    s_num = 1
    f_num += 1

[파이썬 코딩 결과 - 구구단]

1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
1 * 6 = 6
1 * 7 = 7
1 * 8 = 8
1 * 9 = 9
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63
8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
8 * 6 = 48
8 * 7 = 56
8 * 8 = 64
8 * 9 = 72
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81

Process finished with exit code 0
Posted by 유영훈
,

학생 때 배운 피보나치 수열을 오랜만에 만나서 신기

해당 수열 파이썬으로 코딩하기

 

i=1
first_num=1
second_num=1

print(first_num)
print(second_num)

while i <= 48:

    current_num = first_num + second_num
    first_num = second_num
    second_num = current_num
    i += 1
    print(current_num)

결과 값

1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
9227465
14930352
24157817
39088169
63245986
102334155
165580141
267914296
433494437
701408733
1134903170
1836311903
2971215073
4807526976
7778742049
12586269025

Process finished with exit code 0
Posted by 유영훈
,

이번 7월에 파이썬에 익숙해지기 위해
독서통신과 패스트캠퍼스강의 총 3개신청하였다

개발자들한테 알고리즘 테스트치는 이유와
더 좋은코드를 위한 코드리뷰를 하는 이유를 조금씩 배우고있음

Posted by 유영훈
,

패스트캠퍼스, 6개월치 업무를 하루만에 끝내는 업무자동화 수강 시작하였다.

스트링, list 등 파이썬 기본 코딩부터 시작하였다

목표는 엑셀, 웹, 매크로 등 자동화 시키기

Posted by 유영훈
,

[JSON 개념]
데이터 포맷일 뿐, 통신방법이나 프로그래밍 언어를 말하는 것이 아니다.
<>같은 태그대신에 {}, 와 ','을 사용해서 간단하게 나열.

 

velog.io/@surim014/JSON%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

 

JSON이란 무엇인가?

JSON (JavaScript Object Notation) JavaScript Object Notation라는 의미의 축약어로 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식 Javascript에서 객체를 만들 때 사용하는 표현식을 의미한�

velog.io

 

Posted by 유영훈
,