코딩 6

[도서 입력 프로그램] 4. Autoit 업로드창 제어

[도서 정보 자동 입력 프로그램] 4. Autoit 업로드창 제어 길고긴 Selenium과의 사투가 끝났다. 이제는 프로그램 인터페이스만 신경쓰면 되겠다고 생각을 했는데...이게 웬일.문제는 항상 예상치 못한 곳에 산적해있다.  이번 문제는 상품 이미지나 대표 이미지를 등록할때 제어해야하는 '파일 열기창'이다. 처음엔 단순하게 Selenium으로 제어가 되겠지 생각했는데, 엄밀히 따져보니 이 열기 창은 브라우저가 아닌 윈도우에 해당하는 창인 관계로 Selenium으로 조작이 불가하다. 그렇다면 복잡하게 생각할것 없이 어차피 열기창으로 하는 일은 파일 이름창에 크롤링한 이미파일 웹주소를 입력(Ctrl+V)하고 열기(Enter키) 버튼을 누르면 되는것이니 pyautogui등 자동화 라이브러리로 키보드를 조작..

[도서 입력 프로그램] 3-4. Selenium 캘린더 제어

[도서 정보 자동 입력 프로그램] 3-4. Selenium 캘린더 제어 오랜만의 포스팅이다. 1~2일에 하나씩은 꾸준히 올리고 싶은데 잘 되지 않는다. 요즘엔 머신러닝/딥러닝 쪽에 꽂혀서 틈날때마다 공부중이기도 하고, 하다보니 프론트엔드 쪽에도 관심이 생겨서 자바스크립트와 Node.js를 배워볼까 생각중이다. 아무튼 시간이 잘 나지 않는다.그래도 모든 내용을 다 정리하기까지 열심히 달려보겠다. 이번에 연구해볼 주제는 웹페이지에서 날짜를 선택할때 나오는 캘린더를 제어하는 법이다.Yes24로 도서 정보를 등록할때 기존 등록 DB에 없는 도서를 등록하려면 발행일자를 입력해야한다.이 발행일자를 단순히 타이핑하는 형태가 아니라 캘린더에서 연도/월/일을 선택하는 구조라서 고려해야할 부분들이 많다. 발행일자 선택은 ..

[도서 입력 프로그램] 3-3. Selenium 드롭다운 제어

[도서 정보 자동 입력 프로그램] 3-3. Selenium 드롭다운 제어 XPATH를 정확히 찾아내어 이제 입력을 잘할 수 있으니 계속 진행을 해보자.XPATH만 정확히 찾아낼 수 있다면 클릭이나 입력 같은 제어는 아주 간단하다. 찾아낸 인스턴스 뒤에 click() 이나 send_keys()메서드를 이용하면 된다.from selenium import webdriverfrom selenium.webdriver.common.by import By#driver 인스턴스 정의driver = webdriver.Chrome() #사이트 이동: get()메서드driver.get('사이트 주소') #사이트에 제어하려는 위치 찾기(find_element&By메서드)driver.find_element(By.XPATH, '..

[도서 입력 프로그램] 3-1. Selenium 입력 구조 구상

[도서 정보 자동 입력 프로그램] 3-1. Selenium 입력 구조 구상 이번 포스팅부터 본격적으로 Yes24로 도서 정보 입력을 시작한다.제일 처음으로 입력하는 구조를 구상해야 한다. 도서 정보를 알라딘에서 Yes24로 입력하는 것을 처음에는 그저 있는대로 복붙하는 굉장히 단순한 과정이라 생각했다.하지만 계속 진행을 하다보니 생각만큼 간단하지가 않았다.책의 종류가 많은 만큼 이런저런 예외적인 경우가 발생하고, 알라딘과 Yes24의 입력 방식과 분류가 달라서 그걸 끼워맞춰야할 일도 많았다. 대략적으로 아래와 같은 구분이 필요하다. 1) 가장 기본적이고 큰 문제는 바로 ISBN 유무이다.ISBN이 있는 도서라면 검색을 통해 기본정보를 불러와서 입력 절차를 간소화할 수 있다.ISBN이 없다면 모든 정보를 ..

[도서 입력 프로그램] 2. BeautifulSoup 알라딘 도서 정보 수집

[도서 정보 자동 입력 프로그램] 2. BeautifulSoup 알라딘 도서 정보 수집이제 알라딘에서 필요한 도서정보를 수집 해보자.Yes24 등록을 위해 수집해야하는 정보는 아래와 같다.도서정보판매가격상품 상태(상/중/하)도서 구분(국내도서/외국도서/음반/DVD)도서 대표이미지(이미지 주소로 추출)도서 주제분류(중분류/소분류)저자명출판사명출판일자ISBN (없는 도서도 있음)책 주의사항(html 태그로 수집)책 사진(이미지 주소로 수집)이렇게 12가지이다. 이외에 서점별로 책 분류 및 색인을 위해 표기하는 자체 상품코드도 있는데 알라딘 판매자 로그인 자동화가 불가하므로 그것은 다른 방법을 통해 입력하도록 하겠다. 도서 페이지에서 이제 정보를 추출하기 위해서 파이썬 BeautifulSoup4 과 reque..

[도서 입력 프로그램] 0. Intro - 파이썬 독학 시작

[도서 입력 프로그램] 0. Intro - 파이썬 독학 시작결국 공부는 필요에 의할때 가장 원동력이 강력한것 같다. 거진 3~4년을 코딩을 배워볼까 생각만하다가 파이썬을 통한 업무자동화와 데이터분석의 매력을 느껴 시작한 파이썬 독학. 가장 큰 이유는 중고서점을 운영하시는 아버지께서 도서 정보를 입력하는 반복적인 일에 낭비되는 시간을 줄여보고자 하는 것이었다. 아버지는 매일 10~20권씩 수집하신 중고 도서정보의 책이름, 저자, 출판사, 책상태와 같은 도서정보를 먼저 알라딘에 입력하고 동일한 내용을 다시 Yes24에 등록하신다. 입력할때 대략 아래와 같은 문제들이 있다.ISBN이 등록된 서적의 경우 기존 알라딘이나 Yes24에 등록된 DB를 조회하여 기본 책정보를 불러온 뒤 책 상태나 가격정도만 입력하면 ..