본 포스팅은 노마드코더님의 온라인 강의에 대한 복습을 기록하기 위한 포스팅입니다.
※ 본 포스팅의 내용은 강의를 들은 후 필자의 개인적인 의견을 기재한 것이니, 정답이 아닐 수 있음을 참고하십시오.
강의 소개 : 파이썬으로 웹 스크래퍼 만들기 (2주 완성반)
-. 내용 : 파이썬 기초 (타입, 변수, 함수, 클래스 등 및 웹 스크래퍼 코드 작성법)
-. 비용 : 100% 무료 강의
-. 비고 : 한글 자막 제공 / 강의 100% 완료 시 10% 할인 쿠폰 제공
온라인 강의 : https://nomadcoders.co/ / 풀스택 개발자 로드맵 : https://nomadcoders.co/roadmap
유튜브 채널 : https://www.youtube.com/channel/UCUpJs89fSBXNolQGOYKn0YQ
#2.14~2.16 Saving to CSV
1) csv 저장을 위한 소스코드
""" main.py """
from indeed import get_jobs as get_indeed_jobs
from stackoverflow import get_jobs as get_stackoverflow_jobs
from save_to_csv import save_to_csv
# Indeed Site 스크랩
indeed_jobs = get_indeed_jobs()
# StackOverflow 스크랩
stackoverflow_jobs = get_stackoverflow_jobs()
# Indeed + StackOverflow 스크랩 자료 합치기
jobs = indeed_jobs + stackoverflow_jobs
# csv로 저장하기
save_to_csv(jobs)
""" save_to_csv.py """
import csv
def save_to_csv(jobs):
# 파일 열기 단, 파일이 없을 경우 생성해줌
# mode 3가지 설명
file = open("jobs.csv", mode="w")
# csv를 작성할 수 있도록 하는 변수 생성
writer = csv.writer(file)
# row(행)의 값 추가
writer.writerow(["title", "company", "location", "link"])
for job in jobs:
# 딕셔너리에 저장된 값중 Value만 가지고 와서 row의 값 추가
# 단, dict.value()의 경우 type이 dict_value 이므로 list로 변환하여 저장해야 함
writer.writerow(list(job.values()))
return
-. indeed.py, stackoverflow.py의 경우 수정사항이 없어 별도로 업로드하지 않았습니다.
-. 혹시 소스 코드가 필요하신 분은 이전 포스팅을 참조하시기 바랍니다.
2) save_to_csv.py 설명
-. open() : 파일을 열 때 사용, 만약 기존 파일이 없을 경우에는 생성
* open("파일명.csv", mode="모드")
** mode Attribute 설명
종류 | 모드 이름 | 모드 설명 |
r | 읽기(read) 모드 | 읽기 전용으로 파일을 Open (기존 내용을 불러옴 / 신규 내용 추가 불가능) |
w | 쓰기(write) 모드 | 쓰기 전용으로 파일을 Open (기존에 있는 내용 모두 삭제 후 신규 내용을 저장) |
a | 추가(add) 모드 | 읽기/쓰기로 파일을 Open (기존에 있는 내용의 뒤에 신규 내용을 추가) |
-. writer() : csv 패키지에서 제공하는 function으로 open()으로 실행한 파일을 쓰기 모드 객체로 생성한다.
-. writerow() : csv 패키지에서 제공하는 function으로 writer()로 준비된 파일에 한 행씩 리스트를 추가할 때 사용한다.
import csv
f = open("test.csv", "w")
wr = csv.writer(f)
wr.writerow(["No", "Name", "Score", "Pass"])
wr.writerow([1, "Nomad", 100.0, True])
wr.writerow([2, "Ilion", 50.0, False])
f.close()
""" 출력 값 """
No,Name,Score,Pass
1,Nomad,100.0,True
2,Ilion,50.0,False
3) 최종 작성 된 코드(CSV로 저장하기) 결과물 스프레드 시트로 확인하기
-. repl.it 사용자의 경우 파일 다운로드 방법
* 폴더 추가 옆 점 3개 클릭 > Download as Zip 후 압축 해제
-. 구글 스프레드시트로 Data 확인하기
* 구글 로그인 > 위 링크로 접속 > 개인(스프레드시트) 선택
* 신규 스프레드 시트 생성
* 파일 > 가져오기(Import) 선택
* 업로드 > csv 파일 선택
* 구분자 유형 : 쉼표(Comma) 선택 > 데이터 가져오기(Import)
* 구글 스프레드시트 Data 확인하기 (파이썬 일자리 다운로드 받기)
※ 본 포스팅의 내용은 강의를 들은 후 필자의 개인적인 의견을 기재한 것으로,
정답이 아닐 수 있음을 참고하십시오.
이상으로 Python으로 웹 스크래퍼 만들기 복습 8일 차를 마치겠습니다.