2021. 5. 15. 18:53ㆍ카테고리 없음
패스트캠퍼스 6개월 치 업무를 하루 만에 끝내는 업무자동화 올인원 패키지 Online
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("좋아요 안 눌려있음")
...:
좋아요 안 눌려있음