티스토리 뷰

KT에이블스쿨

[KT AIVLE] 웹 크롤링

qkrgusqls 2024. 4. 15. 12:16

웹크롤링 

0307 - 0308
웹크롤링 강의 

 

URL 

주소와 데이터 : '?'를 기준으로 앞부분은 주소, 뒷부분은 데이터를 나타낸다.

프로토콜 : 'http://'와 같이 사용되며, 웹에서 데이터를 주고받는 규칙을 의미한다.

경로 : 'main/'과 같이 리소스의 위치를 나타낸다. 

 

HTTP 메소드 

GET : URL에 쿼리를 포함하여 데이터를 요청한다. 쿼리가 노출되며 전송할 수 있는 데이터의 양이 제한적이다.

POST : 본문에 쿼리를 포함하여 데이터를 전송한다. 쿼리가 노출되지 않으며 더 많은 데이터를 전송할 수 있다. 

 

HTTP 상태 코드

2xx (성공): 클라이언트의 요청이 성공적으로 처리된다.
3xx (리다이렉트): 요청된 리소스가 다른 위치로 이동했음을 나타낸다.
4xx (클라이언트 오류): 클라이언트의 잘못된 요청으로 인한 오류이다.
5xx (서버 오류): 서버 측에서 처리할 수 없는 오류이다. 

 

쿠키, 세션, 캐시

쿠키(Cookie): 클라이언트의 브라우저에 저장되는 작은 데이터 조각. 로그인 정보, 상품 정보 등을 저장할 수 있다.
세션(Session): 클라이언트와 서버 간의 연결 정보를 서버에 저장합니다. 자동 로그인 등에 사용된다.
캐시(Cache): 데이터 입출력 속도를 빠르게 하기 위해 클라이언트나 서버의 RAM에 저장하는 데이터이다.

 

웹 언어 & 프레임워크

클라이언트(프론트엔드): HTML, CSS(Bootstrap), JavaScript(React.js, Vue.js)
서버(백엔드): Python(Django, Flask, FastAPI), Java(Spring), Ruby(Rails), JavaScript(Express[node.js])

 

스크래핑 & 크롤링

스크래핑(Scraping): 특정 데이터를 수집하는 작업이다.
크롤링(Crawling): 웹 서비스의 여러 페이지를 이동하며 데이터를 수집하는 작업이다.

 


 

처음 배워보는 분야여서 재미있으면서도 조금 어려워서 진행한 실습을 복습 겸 한번 더 진행해보았다! 

 

신당역 근처 집 구하기! 

직방 웹사이트 크롤링

 

addr = '중구 신당동' 
url = f'...'
response = requests.get(url)
response

 

 

직방 사이트에서 개발자 모드를 켜고 search에서 url을 복사한다. 그리고 addr에 주소를 지정해주었다.

 

<Response [200]>

 

 

reponse 200이 나오면 정상적으로 동작하는 것을 확인할 수 있다.

 

 

 

url에 한글이 특수문자 형태로 깨져서 잘 알아볼 수 있도록 url encoder 사이트를 통해 url을 변환해주었다. 

 

columns = ['item_id', 'sales_title', 'deposit', 'rent', 'title', 'address1', 'floor']

 

 

geohash값을 통해 매물의 아이디를 가져왔다. 그리고 크롤링한 데이터에서 위의 column들로 데이터 프레임을 만들었다. 월세 80만원 이하의 조건을 걸어두고 데이터 프레임을 확인했는데, 생각보다 신당역 주변에 방이없었다. 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함