-
export.html with Flask frameworkProject using python/Jobs scrapper 2020. 12. 21. 13:49
main.py
from exporter import save_to_file @app.route('/export') def export(): try: word = request.args.get('word') if not word: print("not word") raise Exception() word = word.lower() jobs = db.get(word) if not jobs: print("not jobs") raise Exception() save_to_file(jobs, word) return redirect("/") except IOError: print("error") return redirect("/")
search.html로 원하는 일자리들을 찾은 후에 해당 일자리를 .csv 파일로 다운 받을 수 있다.
exporter.py
import csv def save_to_file(jobs, word): file_name = f"{word}.csv" file = open(file_name, mode="w", encoding="utf-8") fieldnames = ["title", "company", "location", "link"] writer = csv.DictWriter(file, fieldnames=fieldnames) writer.writeheader() for job in jobs: writer.writerow(job)
python에서는 내장 모듈로 csv를 지원한다. word 이름으로 csv 파일을 쓰기로 연다. file과 filednames를 같이 csv.DictWriter에 넘겨준다. writer.writeheader()를 사용하면 csv.DictWriter(file, fieldnames=filednames)의 filednames가 엑셀의 table에서 tabel header로 자리를 잡는다. 마지막으로 그 밑에 writer.writerow(job)으로 table header에 해당하는 내용을 만든다.
참고 자료
소스 코드
github.com/zpskek/web_scraper-v2/commit/34ff08b9e5f1e06515fee9dca193ef8954777da1
'Project using python > Jobs scrapper' 카테고리의 다른 글
Extract reddit's posts and make export.html with Flask framework (0) 2020.12.21 search.html (0) 2020.12.21 home.html with Flask framework (0) 2020.12.21 Scrap remote.com (0) 2020.12.21 Scrap WeWorkRemotely (0) 2020.12.21