Dev/Python

Python | BeautifulSoup4 사용해서 웹 크롤링 + CSV 로 만들기

sooya14 2020. 4. 9. 15:23

 

Python 에서 웹에서 이미지를 크롤링 하기!!

 

음식점 이름을 통해서 음식점 이미지를 크롤링하려고 합니다 ㅎㅎ

또한 크롤링한 것을 CSV 로 만들기까지,

 

 

00. 사용할 모듈 설치 

 

웹 크롤링을 할 때 기본적으로 사용하는 모듈을 설치해야합니다. 

pip install beautifulsoup4
pip install requests

 

# beuatifulsoup4

html 에서 쉽게 파싱할 수 있도록 도와주는 모듈

 

# requests

html 에서 요청을 사용하기 위한 모듈로, 기본적으로 다들 설치되어 있지만  

혹시 모르니간 설치를 또 해줍니다 ㅎㅎ

 

 

01. 시작하기 

 

 

코드 1~3 줄에 우선 임폴트를 우선 해주고 

사용할 url 를 상단에 넣어줍니다. 

저는 음식점 이미지를 크롤링해야해서 

'식신' 이라는 맛집 사이트를 선정했어요! 

 

url 뒤에 검색한 단어를 넣어줘야하기 때문에 

검색할 수 있는 url 을 넣어줘야합니다다

 

 

02. 검색할 CSV 가져오기 

 

 

기존에 갖고 있는 CSV 에서 음식점의 이름을 가져왔습니다 

 

예를 들어 이런 CSV

,id,store_name,
,0,스타벅스,
.
.
.

 

 

03. 크롤링 해서 CSV 만들기 

 

 

CSV 만든느 코드 

필드네임도 설정을 해줄 수 있

 

 

 

04. 웹 크롤링 코드

 

웹 크롤링 코드 

 

url 을 활용하여 link 를 설정한 후 

beuatifulsoup4 를 통해서 

select 하면됩니당

 

 

# select 하는 방법은, 

 

 

F12 눌러서 

선택하면 오른쪽 버튼 - copy - copy selector

복사하면 

soup.select 에 넣어주기!

 

img의 src 를 가져오지 못해서 아래와 같이 설정 

res['store_image'] = select[0]["src"]

 

# 오류 처리 

 

음식점 이름이 오류가 있어서 검색 결과를 가져오지 못한 경우가 있었습니다 

 

 

이를 해결해주기 위해

오류 처리 코드를 추가해줬습니다~ (코드 45~48)

 

 

05. 결과

 

store_name,store_image
스타벅스,url주소

위와 같이 csv 가 만들어집니다!