[노마드 코더] Python으로 웹 스크래퍼 만들기 #4.0~4.3 공부-2

[노마드 코더] Python으로 웹 스크래퍼 만들기 #4.0~4.3 공부-2

728x90

현재까지 만든 웹사이트로는 검색창에서 어떤 단어를 입력해도 그 검색창을 보여주지 못한다.

지금부터는 웹에서 데이터를 보내서 검색창으로 가는 것에 대해 코드를 만들어 볼 것이다.

potato.html

8번째 줄부터 보면 form 태그로 /report 라는 경로를 생성했고 get방식을 사용했다.

input태그 → placeholder : 검색창안에 작성가이드와 같이 텍스트를 보여준다.

input태그 → required : input태그가 빈값으로 전달 될 수 없게 한다.

해당 코드가 실행되면 report?word="입력값" 으로 호출됩니다.

검색창에 react를 검색했을때

<사용자 요청 검색어 받아오기>

우리가 인터넷에 접속하는 행위는 모두 요청(Request)이다. 웹페이지에서 사용자가 검색한 단어를 알고 싶으면 그 단어를 알려달라고 요청해야 한다. 그러므로 우리도 flask에서 request를 import 해야한다.

from flask import Flask, render_template,request app=Flask("SuperScapper") #앱 이름 @app.route("/") def home(): return render_template("potato.html") @app.route("/report") def report(): word=request.args.get('word') return f"You are looking for a job in {word}" app.run(host="0.0.0.0")

여기서 request.args.get('word') 의 의미는 word 이름의 argument를 request에서 뽑은것이다.

python으로 검색했을때 웹사이트가 이동함

검색 단어를 어떻게 추출하는지 알게 됐으니 이를 /report에 출력될 html을 만든다.

그리고 검색 단어를 report.html에게 전달한다.

Job Search Search Results You are looking for {{searchingBy}}

html 안에서는 이중괄호{{"변수"}}를 이용해 변수명을 받아온다.

return문에서 받아온 변수명 searchingBy를 이중괄호를 통해 html에 받아오는 것을 볼 수 있다.

from flask import Flask, render_template,request app=Flask("SuperScapper") #앱 이름 @app.route("/") def home(): return render_template("potato.html") @app.route("/report") def report(): word=request.args.get('word') return render_template("report.html",searchingBy=word) app.run(host="0.0.0.0")

main.py에 return 값을 render_template을 이용하면서 report.html로 word 값을 이동시킬수 있게 한다.

검색창에 python을 검색했을때 나온 결과창

from http://hiyoonhyuck.tistory.com/40 by ccl(A) rewrite - 2021-03-18 16:26:35