Python 을 활용해서 indeed 와 wwr 웹 사이트의 구인정보들을 스크랩 하고 스크랩한 구인정보들을 Flask 로 구축한 웹 사이트로 구현해 보았다. 제작했던 전체 파일 extractors 폴더에 indeed.py 와 wwr.py ( indeed 와 wwr 웹 사이트의 구인정보를 스크랩 하는 파일 ) templates 폴더에 home.html 과 search.html ( Flask 웹 사이트 구축을 위한 template ) chromedriver.exe 는 indeed 웹 사이트를 스크랩 하기 위해 필요한 프로그램 → 관련 게시물 ( webdriver 는 Python에서 브라우저를 시작할 수 있게 해준다. ) file.py 는 파일을 어떤 방식으로 저장하고 어떤 데이터를 가져와서 저장하는지 → 관..
6.9 File Download 만약 사용자가 search query 없이 search 페이지로 이동하려 한다면 아래 화면 처럼 에러가 발생한다. 이런 에러 화면을 사용자에게 보여주지 않기 위해 코드를 수정해야 한다. 코드를 약간 변경해서 아무것도 작성하지 않을 때의 keyword 값을 알아본다. - print(keyword) 추가 from flask import Flask, render_template, request from extractors.indeed import extract_indeed_jobs from extractors.wwr import extract_wwr_jobs app = Flask("JobScrapper") db = {} @app.route("/") def ..
6.8 Cache 이전 게시물에서는 Flask 로 만든 웹 사이트를 Pico CSS 로 예쁘게 꾸몄었다. 하지만 매번 웹사이트에 재접속 하거나, 새로고침 할 때 마다 새로 구인정보를 스크랩 하기 때문에 웹 사이트 속도가 다소 시간이 걸렸다. 이번에는 웹 사이트 속도를 향상 시키기 위해 가짜 데이터 베이스를 만들어 본다. main.py 코드의 home 이랑 search 함수 밖에 db 변수를 만든다. 왜냐하면 home 과 search 함수는 사용자가 웹 사이트를 방문할 때 마다 실행되기 때문이다. 사용자가 방문할 때 마다 keyword 변수는 URL 에 따라 새로 만들어진다. [ 동작 원리 ] 예를 들어 어떤 사용자가 python 을 검색하면 생성된 jobs ( 구인정보 ) 를 가지고 와서 가짜 db 안에..
6.7 Pico 이전 게시물에서 Python Flask 로 HTML 에서 For 문을 사용했었다. 현재 만든 Job Scrapper 웹사이트는 별로 예쁘지 않다. Pico CSS 를 사용해서 꾸며본다. HTML 에 Pico 를 추가하기만 해도 HTML 을 작성하면 웹 사이트가 보기 좋아진다. ( 적은 양의 CSS 로 보기 좋게 만들어준다. - 예쁘게 만들어준다. ) https://picocss.com/ 로 접속해서 Get started 를 눌러 시작한다. 좀 내리다 보면 Install from CDN 을 볼수 있다. 여기서 코드를 복사한 다음에 head 에 추가한다. - Pico Install from CDN 코드 복사해서 붙여넣기 Job Scrapper What job do y..
6.6 For Loops [ 이전 게시물 정리 ] extractors 폴더의 indeed.py 와 wwr.py ( 웹 스크래퍼 코드 ) 를 import 해서 indeed 와 wwr 이라는 변수에 각각 검색값 ( keyword )의 결과인 구인정보를 저장하고, jobs 라는 변수에 indeed 와 wwr 변수를 합친 결과 ( 구인정보 )를 저장하여 jobs를 template 으로 보내 Flask 가 이를 웹 페이지로 출력하게 만든다. keyword 로 2개의 function 을 호출했으며, 2개의 리스트( indeed, wwr )를 1개의 리스트( jobs )로 합쳤다. 그리고 합친 리스트를 search.html 로 보낸다, Flask 가 웹 페이지로 연결. 이전 게시물에서 URL 에 있는 keyword ..
페이로드 ( Payload ) 란 ? 데이터와 함께 전송되는 데이터 중, 헤더와 메타데이터와 같은 데이터는 제외한, 사용에 있어서 전송의 근본적인 목적이 되는 데이터의 일부분이다. 페이로드라는 용어는 큰 데이터 덩어리 중에 '흥미 있는' 데이터를 구별하는 데 사용된다. 원래 운송업에서 비롯된 용어였는데, 지급(pay)해야하는 적화물(load)을 의미한다. 예를들어 유조선 트럭이 20톤의 기름을 운반할 때, 트럭의 총 무게는 차체, 운전자 등의 무게 때문에 그것보다 더 될 것이다. 이 모든 무게를 운송하는데 비용이 들지만, 고객은 오직 기름의 무게만을 지급(pay)하게 된다. 그래서 'pay-laod' 란 말이 나온 것이다. 프로그래밍에서 주로 메시지 프로토콜(message protocols)..