빅데이터 분석/파이썬

파이썬 : 웹 스크래퍼 만들기(2)

류창 2023. 1. 18. 23:26
반응형

 

지난 웹 스크래퍼에선  wwr에서 정보를 빼오는 메소드를 만들어봤다.

 

 

이제 이 메소드를 활용해 웹사이트를 간단하게만들어보자.

 

 

레블릿 웹사이트에서  Flask() 라이브러리를 사용하면,  레플릿이 알아서 서버를 개통해준다.

 

app.run(" ")을 통해 열고싶은 포트를 입력해주면 콘솔과 웹창을 띄어준다.

 

@app.route() 는  RESTAPI 요청을 컨트롤하는 메소드다

다음과 같은 경로가 입력되면 아래에 있는 함수를 호출한다.

 

home.html

Flask의 render_template으로 html을 호출할수있다. 

 

호출하는 html은 다음과같다.

 

render_template은 html을 호출함과동시에, 정보를 함께 담을수있다.  

본인은 이름도 함께 입력해서 보냈다.

 

Flask에서 변수를 {{}}  쌍 중괄호로 인식을한다.

장고 템플릿이라고한다.

 

 

home.html에서 키워드를 입력하면 다음 경로로 이동한다.

 

keyward가 (메모리)DB에 있으면  DB에 불러오고 없으면 만들어둔 웹스크래퍼 기능을 동작시키고, DB에입력한다. 

 

search는 키워드와 검색된 직업들을 인자로 보냈다.

 

다음과같다. 주로 눈에 띄는 특징은 {% %} 코드다.

{% %} 는  장고에서 반복문 또는 if문 쓸때 사용하는 코드라고한다. 

이 장고 템플릿에 파이썬코드도 작동한다.

 

 

 

 만약 search에서 다운로드 링크를 눌렀으면 발생하는 로직이다.

 

다운로드를하면 save_to_file로 csv를 만든뒤,  

 

send_file로 사용자의 컴퓨터로 파일을 보낸다.  여기서 as_attachment를 해야 헤더정보와 함께 보내는 기능이라고 하는데.. 알아보니, ".csv" 확장자까지 올바르게 인식시켜주는 기능이니 꼭 넣자.

 

 

 

결과화면

 

메인 화면

 

search.html 결과

 

 

 

 

반응형