[파이썬] 파이썬으로 웹 스크래퍼 만들기, Part 2 id csv파일 만들기

미음제

·

2021. 4. 6. 22:44

파이썬으로 웹 스크래퍼 만들기

 

Part 1 이론

Part 2 파이썬으로 웹 스크래퍼 만들기

Part 3 Django를 사용하기 위해 알면 좋은 것

 

파이썬으로 웹 스크래퍼 만들기는 위와 같은

3개의 Part로 나누어 진행한다.

 

이 전 글 보기

2021.02.16 - [Developer/Python - 웹 스크래핑] - [파이썬] 파이썬으로 웹 스크래퍼 만들기, Part 2 id 추출하기


Part 2 파이썬으로 웹 스크래퍼 만들기

 

CSV 파일 만들기

indeed에서 직업 정보를

추출한 것과 마찬가지로

StackOverFlow에서 정보를

추출해 오면

 

수많은 일자리 정보를 추출한 결과를

확인할 수 있다.

 

이제 추출한 결과를

excel파일로 저장해 주기만 하면 된다.

 

CSV란?

CSV(영어: comma-separated values)는

몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일이다.

 

csv 파일을 만들기 위해

python에서 제공하는 csv를 사용한다.

 

save.py

import csv


def save_to_file(jobs):
    file = open("jobs.csv", mode="w", encoding="utf-8")
    return

save_to_file이라는 함수를

만들어주고

인자로 main.py에서

indeed와 StackOverFlow에서

추출한 정보를 담은

jobs를 사용한다.

 

 

file이라는 변수를 선언해주고

jobs.csv라는 파일을 만들도록 한다.

 

mode="w"

Write모드로

한번 사용하고 나면

정보가 저장되지 않기 때문에

따로 저장을 해두어야 한다.

 

encoding="utf-8"

encoding="utf-8"를

입력해주지 않으면

위와 같은 에러가 발생하니

꼭 작성해 준다.

 

그 후에,

다음 코드 내용을

save_to_file() 함수에 추가해준다.

writer = csv.writer(file)
writer.writerow(["title", "company", "location", "link"])

writer를 통해

scv파일을 작성하게 된다.

return {'title': title, 'company': company, 'location': location, 'link': f"https://kr.indeed.com/%EC%B1%84%EC%9A%A9%EB%B3%B4%EA%B8%B0?jk={job_id}"}

정보를 추출해오는 함수의

return값이 위와 같기 때문에

csv파일에서 첫 번째 행을

title, company, location, link로 작성해준다.

 

추출한 정보를 파일에 쓰기 위해

for문을 사용하는데

추출한 정보는

dictionary이다.

 

dictionary에서 추출된 것들 중에서

title : "somthingelse"

필요한 부분은

"somethingelse"부분이다.

 

 

아래처럼 작성하면,

dictionary에서 필요한 값만

추출할 수 있다.

for job in jobs:
        writer.writerow(list(job.values()))

필요한 값만 추출하고

원하는 type이 string이기 때문에

추출한 값을 list에 넣어준다.

 

main.py

from save import save_to_file

save_to_file(jobs)

위 내용을 추가해주고

실행해주면 다음과 같은 결과가 나타난다.

 

프로젝트 디렉터리에

jobs.csv라는 파일이 생성된다.

 

jobs.csv 파일을 확인해보면

title, company, location, link가

, (comma)로 구분되어 있다.

 

vsc상에서 이 csv파일을

preview 해보면

위처럼 정리된 모습으로 나타난다.

 

Google 스프레드시트에서

import 하면

구분자 유형으로 쉼표를 선택해준다.

추출한 정보가

excel파일로 정리된 것을 확인할 수 있다.

 

Google 스프레드시트의

마지막 행이다.

상당한 양의 정보를 추출하고

정리한 것을 확인할 수 있다.

 

잘 추출이 되어서 정리가 되었는지

확인해보면

추출된 정보 중 하나를 선택하고,

link를 열어보면

올바른 link가 열리는 것을 확인 할 수 있다.

 

 

반응형