RPA 66

[BeautifulSoup, selenium] 동적 스크롤 페이지 스크래핑

구글 플레이 영화 페이지에 접속하여 할인이 적용된 영화 리스트를 가져온다. 해당 페이지는 동적 페이지로 스크롤을 내려야 나머지 영화가 로딩되기 때문에 selenium으로 페이지를 열어 스크롤을 내리고 스크래핑한다. from selenium import webdriver from bs4 import BeautifulSoup import time URL = 'https://play.google.com/store/movies/top' driver = webdriver.Chrome() driver.maximize_window() driver.get(URL) driver.implicitly_wait(10) # 스크롤 끝까지 내리기 prev_height = driver.execute_script('return do..

RPA/Python 2021.05.14

[BeautifulSoup] 기업 시가총액 순위, 엑셀/CSV로 저장

네이버 금융 페이지 중 시가총액 순위 페이지에서 데이터를 가져와 엑셀과 CSV로 저장 Power Automate Desktop 버전은 아래 링크에서 확인할 수 있습니다. https://ggondae.tistory.com/99 [Power Automate Desktop] 기업 시가총액 순위, 엑셀 저장 (Detail Version) 심플버전에서는 웹 페이지의 표를 전체 HTML테이블 추출을 통해 한번에 가져와 엑셀로 저장하였습니다. 그러다보니 엑셀이 완전한 형태로 만들어지지 않게 되었고 다음 작업을 자동화로 만들기 ggondae.tistory.com import requests from bs4 import BeautifulSoup from openpyxl import Workbook import csv H..

RPA/Python 2021.05.13

[BeautifulSoup] 웹 스크래핑 (WEB Scraping) 환경 설정 및 기초

웹 스크래핑을 위해서 아래 패키지 설치 Termanal> pip install requests Termanal> pip install beautifulsoup4 Termanal> pip install lxml beautifulsoup4 document : https://www.crummy.com/software/BeautifulSoup/bs4/doc.ko/ 쇼핑몰에서 노트북으로 검색하여 출력되는 정보 (제품명, 가격, 평점, 리뷰수, 링크) 가져오기 import requests import re from bs4 import BeautifulSoup # user-agent가 headless로 요청되기 때문에 HEADERS의 User-Agent를 변경 # Accept-Language는 구글 같은 다국어 지원..

RPA/Python 2021.05.12

[openpyxl, python-pptx] 엑셀 주소록 읽어 파워포인트로 명찰 만들기

회사 주최 세미나가 열린다. 참석자는 20명이며 리스트는 엑셀 데이터로 가지고 있다. 참석자 명찰을 파워포인트로 만들어 출력해야한다. Power Automate Desktop 버전은 아래 링크에서 확인 가능합니다. https://ggondae.tistory.com/105 [Power Automate Desktop] 엑셀 주소록 읽어 파워포인트로 명찰 만들기 엑셀에 있는 주소록 데이터를 읽어 명찰 폼이 있는 파워포인트 슬라이드를 추가하면서 넣는 플로어를 만들어보겠습니다. python으로 구현한 내용은 아래 링크에서 확인하세요. https://ggondae.tistory. ggondae.tistory.com 1. 참석자 엑셀 데이터 만들기 전산팀에 요청하여 온라인으로 받은 참석자 정보를 엑셀로 받았다. (주..

RPA/Python 2021.05.09

[python-pptx] 특정 슬라이드를 하나의 파일로 만들기

참고 및 인용 : https://stackoverflow.com/questions/50866634/python-pptx-copy-slide from pptx import Presentation prs = Presentation('test.pptx') # 대상 슬라이드 번호 (2번째 슬라이드) slidetokeep = 1 # 슬라이드 삭제 함수 def delete_slide(prs, slide): id_dict = { slide.id: [i, slide.rId] for i,slide in enumerate(prs.slides._sldIdLst) } slide_id = slide.slide_id prs.part.drop_rel(id_dict[slide_id][1]) del prs.slides._sldIdLs..

RPA/Python 2021.05.09

[python-pptx] 슬라이드 복사

아래 소스는 하나의 슬라이드가 있는 ppt 파일을 불러와 하나의 슬라이드만 복사하는 내용이다. 소스가 되는 슬라이드는 source_slide = prs.slides[0]에서 조정하면 된다. 참고 및 인용 : https://stackoverflow.com/questions/50866634/python-pptx-copy-slide from pptx import Presentation import copy prs = Presentation('test.pptx') # 첫번째 슬라이드 가져오기 source_slide = prs.slides[0] # 새로 추가할 슬라이드 레이아웃 정의 (6 : 빈 페이지) slide_layout = prs.slide_layouts[6] # 새로운 슬라이드 추가 copy_slide ..

RPA/Python 2021.05.09

[python-pptx] 텍스트 박스에 글자 입력

전시회 참석자의 명찰을 파워포인트를 이용해서 만들려고 한다. 아래 구문은 기본 내용이고 확장은 텍스트 상자 입력 부분을 함수로 만들고 회사명/이름 부분을 for문 등을 활용해서 추가 구현하면 된다. 1. 마스터 슬라이드 생성 슬라이드에 직사각형 도형을 넣고 그 위에 텍스트 상자 2개를 위치하여 하나는 회사명, 나머지 하나는 참석자 이름을 입력 2. 우측상단 메뉴 "편집 > 선택 > 선택창" 클릭 3. 우측 선택창에서 회사명 텍스트 상자는 "comp", 이름 텍스트 상자는 "name"으로 변경 후 파일 저장 4. 실행 소스 from pptx import Presentation from pptx.enum.text import PP_ALIGN from pptx.util import Pt # from pptx...

RPA/Python 2021.05.08

[python-pptx] 도형 객체 삽입

from pptx import Presentation from pptx.util import Inches from pptx.enum.shapes import MSO_SHAPE # MSO_SHAPE_TYPE의 Alias from pptx.enum.dml import MSO_THEME_COLOR # MSO_THEME_COLOR_INDEX의 Alias prs = Presentation() slide_layout = prs.slide_layouts[6] slide = prs.slides.add_slide(slide_layout) # 첫번째 도형 위치 및 크기 left = top = height = width = Inches(1) # 첫번째 모서리가 둥근 사각형 도형 생성 # 도형값 : https://python..

RPA/Python 2021.05.08

[python-pptx] 슬라이드에 이미지 삽입

from pptx import Presentation from pptx.util import Inches prs = Presentation() # 빈 레이아웃 slide_layout = prs.slide_layouts[6] slide = prs.slides.add_slide(slide_layout) left = Inches(1) # x좌표 top = Inches(1) # y좌표 width = Inches(5) # 이미지 가로 길이 height = Inches(0.5) # 이미지 세로 길이 # 이미지 삽입 pic = slide.shapes.add_picture('img.png', left, top, width, height) prs.save('demo.pptx')

RPA/Python 2021.05.08
반응형