사용자 도구

사이트 도구


2018_07

문서의 이전 판입니다!


6일 금요일

웹 페이지를 MHTML 파일로 긁어와 저장하는 프로그램 개발.

사전에 수집해놓은 500개 페이지를 대상으로 일괄처리 시도.

Python Beautiful soup을 사용할 예정이었으나, bs4에서 .mht convert 기능 찾다 안나와서 포기.

구글링 하던 중에 python 오픈소스 개발자들이 만든 chilkat 모듈 발견.

chilkat 으로 500개 페이지 일괄 converting.

문제점: 크롬에서 mht 파일이 안열린다..




9일 월요일

chilkat 모듈을 이용하면 깨지는 페이지들이 발생.

결국 chrome extension 이용해서 다시 작업중

excel에서 읽어오는건 일단 실패했고, 파이선 chilkat 모듈로 했을때 깨지는 페이지에 대해서

크롬 익스텐션 돌려보려고 개발 중.

크롬 익스텐션 구조 익히고 popup.js 에서 background.js에 데이터 넘기는데 시간 소비.

chrome.pageCapture.saveAsMHTML 사용할때 콜백함수 사용법에 대해 더 알아봐야 함.




10일 화요일

Chrome Extension 사용하여 mhtml 파일 저장하는 작업 완료.

chrome.pageCapture.saveAsMHTML 사용하는 방법은 이해했으나, 크롬 엔진이 API를 찾지 못하는 문제 발생.

manifest에 pageCapture, download 아무리 추가해도 해결 안됨.

크롬 flag 권한을 enable로 바꾸니까 해결 됨. (근성이형 도움 받음)

Python Chilkat으로 다운 받았을 때 발생했었던 문제 2가지

(1) 깨지는 페이지 존재했다.

(2) mht 파일이 ie에서만 열리고 chrome에서 안열렸다.

2가지 모두 해결 됨.

내일부터는 xlsl 파일에 들어있는 data set 읽어와서 일괄처리 작업 진행.




11일 수요일

기존의 계획상으로는 xlsl 파일로부터 500개 dataSet 읽어와서 mht 파일로 변환하는 작업을 진행하려고 했으나,

chrome extension에서 mht 파일을 변환할 경우 브라우저에서 보안 점검한다고 뜨는 팝업때문에 문제가 생김.

이 말은 즉 프로그램을 자동화시킬 수 없고 사용자가 개입해야한다는 의미. (팝업 메시지를 클릭해야 함)

내가 이 짓을 하고 있는 이유는 DataSet의 신뢰성을 증명하기 위해 수집 process를 누구나 재현할 수 있도록

하기 위함이므로 이 문제를 해결하지 않으면 안 됨.

대충 고안한 해결 전략으로는

(1) chrome extension의 pageCapture 모듈을 뒤져본다.

(2) 서버를 만들어서 ajax로 던져준다.

chrome extension의 pageCapture 모듈에서 팝업을 무시해주는 특정 function을 찾아볼 수도 있었지만,,

어차피 DataSet을 DB화 해야하고, Visualization을 통해 검증할 수 있어야 교수님이 좋아하기 때문에

서버를 구축하기로 함. 서버는 Django로 구축했고 DBMS는 MySQL 사용함.

Django를 오랜만에 만져봐서 pip도 말썽이고 특히 python-Mysql 모듈이 파이썬 버젼업 되면서 엉망돼버림.

결국 PyMySQL 모듈 가져와서 setting.py에 pymysql.install_as_MySQLdb() 추가하니까 해결 됨.

(오늘 Django 서버 configuration 하는데 시간 거의 다 씀.)

장고 서버 환경설정 대충 마무리하고

Page Model, View 만들어서 엑셀에 모아놓았던 DataSet을 아얘 DB로 옮겨버리는 작업까지 완료.

MySQL에서 Data import 하는데도 인코딩 타입 에러나서 한시간 정도 해맴.

앞으로의 작업 계획은,,

(1) Chrome extension에서 MySQL Data 빼오는 작업

(2) MySQL에서 빼온 Data를 이용해서 각각 페이지마다 mht 또는 blob 파일 생성하는 작업

(3) 생성해낸 mht 또는 blob 을 서버에 전송하는 작업 (ajax)

(4) Django 서버에서 DB 안에 들어있는 mht 정보 찍어보는 작업 (Temlate, View)

그리고 데이터셋 보존 작업 빨리 마무리하고 scoring 방법도 생각해봐야 됨..

2018_07.1531302413.txt.gz · 마지막으로 수정됨: 2021/04/13 06:54 (바깥 편집)