Python

Programming/Python 웹 스크래퍼 만들기

Python 웹 스크래퍼 & Flask 웹 사이트 구축 정리

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 는 파일을 어떤 방식으로 저장하고 어떤 데이터를 가져와서 저장하는지 → 관..

Programming/Python 웹 스크래퍼 만들기

Python Flask 웹 사이트 다운로드 버튼 만들기

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 ..

Programming/Python 웹 스크래퍼 만들기

Python Flask 가짜 DB 만들어서 웹사이트 속도 향상 시키기

6.8 Cache 이전 게시물에서는 Flask 로 만든 웹 사이트를 Pico CSS 로 예쁘게 꾸몄었다. 하지만 매번 웹사이트에 재접속 하거나, 새로고침 할 때 마다 새로 구인정보를 스크랩 하기 때문에 웹 사이트 속도가 다소 시간이 걸렸다. 이번에는 웹 사이트 속도를 향상 시키기 위해 가짜 데이터 베이스를 만들어 본다. main.py 코드의 home 이랑 search 함수 밖에 db 변수를 만든다. 왜냐하면 home 과 search 함수는 사용자가 웹 사이트를 방문할 때 마다 실행되기 때문이다. 사용자가 방문할 때 마다 keyword 변수는 URL 에 따라 새로 만들어진다. [ 동작 원리 ] 예를 들어 어떤 사용자가 python 을 검색하면 생성된 jobs ( 구인정보 ) 를 가지고 와서 가짜 db 안에..

Programming/Python 웹 스크래퍼 만들기

Flask 웹 사이트 Pico CSS 사용해서 꾸미기

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..

Programming/Python 웹 스크래퍼 만들기

Python Flask 로 HTML 에서 For 문 사용

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 ..

Programming/Python 웹 스크래퍼 만들기

Python Flask Arguments

6.5 Arguments 이전 게시물에서는 Python Flask 의 Route를 이용하여 웹 페이지를 연결했던 작업을 간단히 정리했었다. 이제 URL 에 있는 keyword 값을 search function ( 함수 ) 안에서 사용해본다. search function 안에서 사용하기 위해 request 를 import 한다. ( main.py 에서 import ) request → request(콘텐츠 요청) 에 대한 정보에 접근 할 수 있게 해준다. request → 브라우저가 웹 사이트에 가서 콘텐츠를 요청하는 것을 의미한다. request 에는 많은 정보가 있다. ( 요청하는 URL, IP주소, Cookies 유무 등등 ) 위 사진의 URL 에서 보듯이 내가 필요한거는 ? 뒤에 keyword 부분..

Security Engineer
'Python' 태그의 글 목록