[패스트캠퍼스 수강후기] 업무자동화강의 100% 환급 챌린지 26회차 미션

2021. 5. 15. 18:53카테고리 없음

패스트캠퍼스 6개월 치 업무를 하루 만에 끝내는 업무자동화 올인원 패키지 Online

 

https://bit.ly/3pIrVoN

 

6개월 치 업무를 하루 만에 끝내는 업무자동화 | 패스트캠퍼스

대한민국 직장인, 개인 사업자 여러분! 오늘도 귀찮은 반복 업무에 스트레스 받으셨나요? 6개월 치 업무를 하루 만에 끝낸 '카이스트 공익'이 여러분의 칼퇴를 도와 드립니다! 여러 정부기관과

fastcampus.co.kr

 

1.매크로를 활용해 뉴스를 트위터에 자동스크랩2
2.매크로를 활용해 뉴스를 트위터에 자동스크랩3
3.매크로와 화면 인식을 활용해 인스타그램 자동 좋아요

 

 

깃허브 업로드 방법

 

$ git add .
$ git commit -m "기능 구현 완료"
$ git push origin master

 

또는

 

파이참에서

 

컨트롤 + 쉬프트 + k

푸시

 

 

리팩터링

main.py

import sys
import twitter_new_with_macro as tw

 

아이디를 입력받습니다.

id = sys.argv[1]

 

패워드를 입력받습니다

ps = sys.argv[2]

 

검색어를 입력받습니다

keyword = sys.argv[3].strip()

tw.scrap_news(id, ps, keyword)

 

 

twitter_new_with_macro.py

 

from selenium import webdriver
import pywinmacro as pw
import pyperclip as pc

import time

 

class NewsBot:
def init(self):
self.driver = webdriver.Chrome(executable_path="chromedriver.exe")
self.search_url = "https://www.google.com/search?q=&tbm=nws&q="
self.news_text = ""
self.splt = []

def kill(self):
    self.driver.quit()

def refresh(self):
    pw.key_press_once("f5")


def scrap_news(self, id, ps, keyword):
    self.driver.get(self.search_url + keyword)
    time.sleep(5)

    # 클릭할 좌표를 지정합니다
    location = (119, 664)

    # 화면을 클릭합니다.
    pw.click(location)

    # 컨트롤 a
    pw.ctrl_a()

    # 컨트롤 c
    pw.ctrl_c()

    # 컨트롤 c
    pw.ctrl_c()

    time.sleep(3)

    # 클립보드의 내용물을 뽑아옵니다.
    news_text = pc.paste()

    # 뉴스 텍스트를 스플릿합니다.
    splt = news_text.split("\r\n\r\n")[2:-1]

    # 트위터에 접속합니다
    self.driver.get("https://twitter.com/login")

    time.sleep(5)
    # 아이디를 입력합니다
    pw.typing(id)
    # 탭을 입력합니다
    pw.key_press_once("tab")
    # 비밃번호를 입력합니다
    pw.typing(ps)
    # 엔터를 입력합니다
    pw.key_press_once("enter")
    # 5초를 기다립니다
    time.sleep(5)

    for el in splt:

        # 트위터에 글을 올립니다.
        # 게시물 작성페이지로 이동
        self.driver.get("https://twitter.com/intent/tweet")
        time.sleep(5)
        pw.type_in(el)
        time.sleep(2)

        # 컨트롤 + 엔터
        pw.key_on("control")
        pw.key_on("enter")
        pw.key_off("control")
        pw.key_off("enter")

        time.sleep(10)

 

매크로와 화면 인식을 활용해 인스타그램 자동 좋아요

 

$ pip install pyautogui

In [1]: import pyautogui

In [2]: import pyautogui as pg

In [3]: pg.locateCenterOnScreen("1.png")
Out[3]: Point(x=296, y=417)

In [5]: pg.locateCenterOnScreen("2.png")
Out[5]: Point(x=414, y=420)

In [6]: import pywinmacro as pw

해당 그림이 화면에 있다면 좌표값을 찾아준다.

In [10]: pw.click(pg.locateCenterOnScreen("1.png"))

In [12]: pw.click(pg.locateCenterOnScreen("2.png"))

좋아요 누르고 안누르고 만들수 있다.

In [14]: if pg.locateCenterOnScreen("2.png"):
...: print("좋아요 눌려있음")
...: else:
...: print("좋아요 안 눌려있음")
...:
좋아요 안 눌려있음