Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

끊김 없이 하자

python3.5 간단한 크롤러 주기적으로 실행하기 본문

낑낑

python3.5 간단한 크롤러 주기적으로 실행하기

도파미파 2017. 6. 7. 13:44

Windows 10 / python 3.5 파이썬 실행 파일 만들기


 어제 공개된 프로듀스101 시즌 2 컨셉 평가 직캠을 보다가 시간대별 데이터가 있으면 순위 예측하기 편했을텐데.. 그런거 안주겠지ㅜㅠ 하면서 처음으로 크롤러를 직접 작성해볼 마음이 들었다. 크롤하는 페이지도 하나고 양이 적어서 예제에 흔히 보이는 html로 간단하게 만들었다.

 네이버TV에서 동영상을 재생하고 있을때, 동영상 우측 재생목록에서 필요한 부분을 크롤했다. 댓글수가 재생목록에 표시가 안되어있는 점이 아쉽다.


  많이들 적혀있지만 python3에서는 BeautifulSoup4를 설치해줘야 하고, 보통 lxml 사용을 권장하는것 같다.

(Syntax Highlighter는 잘 찾아보고 도입해봐야지)


 beautifulSoup element를 처음 사용해서 관련 부분에서 좀 헤맸다. play_list라는 이름으로 재생목록 제목과 조회수, 하트수 단위로 크롤해서 필요한 부분을 분리하려고 했는데 bs4.element.Tag에서 ["title"]같은 지정자? 관련 내용을 잘 못 찾았고, String 처리 관련해서 제목의 일정한 형식을 이용해서 필요한 노래 제목, 연습생 이름만 split하는 방안등을 생각했는데 이건 하지 못했다. | 뒤에는 연습생 이름, ♬뒤에는 노래 제목 이런식으로 한번에 추출하는 방안을 찾고싶다.


 크롤은 이렇게 끝내고, windows에서 1시간마다 실행하도록 하는 부분을 알아봤다. Windows 작업 스케줄러에 새 작업을 추가하는 것까지는 좋았는데, .py 파일을 그대로 실행하기 위해 스크립트에 python.exe를 추가하고 경로와 파일명을 인수로 주는 방식에서는 실행이 되질 않았다ㅜㅠ 하지만 .py만으로 실행할수 있다는게 좋아보여서 나중에 다시 시도해봐야겠다.


  cmd에서 python 경로명\파일명.py를 이용하는 방법은 작업 실행에는 성공했으나 작업이 끝나지 않고 작업의 결과물로 생겨야 하는 파일도 생기지 않아서 패스.

 

 결국 pyinstaller를 이용해 .exe 파일을 만들었다. bs4와 마찬가지로 python3에서는 pyinstaller를 권장한다. exe 파일로 만드는건 파일 크기가 커지고 실행이 오래 걸린다기에 부담스러웠을 뿐이지 생성 자체는 명령어 한 줄로 해결됐다. 

  생성된 dist 폴더 안의 exe 파일을 작업 스케줄러에 올려주니 실행도 잘 되고 드디어 파일이 생겼다. 다만 작업을 생성한 위치나 권한과 관련된 건지 .exe가 있던 경로가 아니라 시스템 폴더 안에 파일이 생겨있었다.

  겉핥기로 해본 과정이지만 뭐든지 처음 해보는거라 하고 나니 즐겁다ㅋㅋㅋㅋ


  파이썬 파일로 작업 만들기 참고 : 

  pyinstaller를 이용한 .exe 만들기 참고 : 


Comments