본문 바로가기
코딩/자동화

파이썬으로 법원경매 정보 수집하기/HTTP Requests, API, 웹 스크레이핑 심화-1

by 나홀로코더 2022. 7. 19.
반응형

목차

1. 주제 소개

2. cURL 커맨드 획득하기

3. 파이썬 코드로 변환해 실행해 보기 


 

1. 주제 소개

 

기존에 웹스크레이핑 관련 포스팅을 했었는데, 정부에서 운영하는 홈페이지들은 아래의 방법이 통하지 않는 경우가 많다.

 

 

파이썬을 이용한 웹스크레이핑(웹크롤링) 예제/requests와 beautifulsoup로 웹페이지 정보 추출하기

1. 시작하기 전에 앞서 requests와 beautifulsoup의 기본적인 사용법을 소개했다. 여기에서는 이를 활용한 실제 웹스크레이핑 예제를 다룬다. 참고로 앞선 글과 여기에서 소개하는 방법은 URL 주소를 통

codealone.tistory.com

 

왜냐하면 위 글의 예제(URL에 쿼리를 포함)와 같이 URL 주소를 이용해서 원하는 HTTP 요청을 바로 보낼 수가 없기 때문이다. 법원경매정보 사이트의 경우에도 물건상세검색 페이지에 들어와 있지만 URL 주소는 그대로인 것을 볼 수 있다.

 

법원경매정보 물건상세검색 페이지

 

셀레니움을 이용해 브라우저를 조작해서 물건상세검색 페이지로 접근할 수도 있겠지만, 이 방법을 사용하면 프로그램 작동에 시간이 많이 소요되고, 실행 과정에서 에러도 많이 발생하며, 무엇보다도 정부에서 운영하는 홈페이지에서는 필요한 element를 찾기도 어려운 경우가 많아 프로그램 작성에도 시간이 많이 걸린다.

 

이 글에서는 셀레니움을 이용하지 않고, 법원경매정보 홈페이지의 물건상세검색 페이지에서 경매물건 정보를 HTTP 요청을 통해 받아본다.

 

일단 요청을 보내 응답을 받는 데까지 소개하고, 2탄에서는 세부 조정을 통해 내가 원하는 조건으로 정보를 획득하는 방법을 소개한다.

 

 

반응형

 

2.  cURL 커맨드 획득하기

 

일단 법원경매정보 홈페이지에 접속해 우리가 정보를 얻고자 하는 페이지인 물건상세정보 페이지로 들어간다.

 

물건상세검색 메뉴 선택

 

아래 그림과 같은 물건상세검색 페이지가 열릴 것이다. 지금은 일단 HTTP 요청을 보내 응답을 받을 수 있는지까지만 확인해 볼 것이니 검색 조건은 그대로 둔다.

 

물건상세검색 페이지

 

개발자도구를 열고 Network 탭을 선택한 상태에서 물건상세검색 페이지의 "검색" 버튼을 누른다.

 

개발자도구를 열어 Network 탭으로 진입

 

그러면 다음 사진과 같이 서버와의 통신 결과들이 나타난다. Name, Status, Type 등 여러 정보들을 표시해 주고 있다.

 

네트워크 탭에서 정보가 표시되는 모습

 

우리가 관심 있는 것은 그중에 제일 위쪽에 있는 RetrieveRealEstMulDetailList.laf이다. 해당 항목을 선택하고, Response 탭으로 들어가 내용을 훑어 보면 우리가 찾고자 하는 경매 물건 관련 정보들이 들어 있는 것을 볼 수가 있다. 

 

Response에 경매물건 정보가 들어 있는 모습

 

우리가 필요한 항목을 찾았으니 목록에서 해당 항목을 우클릭하고 cURL(bash)로 복사한다. 메모장같은 곳에 붙여 넣어 보면 상당히 긴 cURL 커맨드가 복사되어 있을 것이다. 이 커맨드를 이용하면 우리가 원하는 경매물건 정보를 HTTP 요청을 통해 받을 수 있다.

 

cURL 커맨드 복사하는 모습

 

반응형

 

3. 파이썬 코드로 변환해 실행해 보기

 

이제 cURL 커맨드를 파이썬 코드로 변환해 실행하면 된다. 이때는 아래 게시글에서 소개한 적이 있는 사이트를 이용한다.

 

 

파이썬으로 공공데이터포털(data.go.kr) 오픈 API 활용하기 예제/국세청 사업자등록 상태 조회

목차 1. 주제 소개 2. API 활용신청하고 포털에서 API 사용해 보기 3. 파이썬으로 API 활용하기 1. 주제 소개 정부에서는 공공데이터의 제공 및 이용 활성화에 관한 법률 제21조에 따라 공공데이터포

codealone.tistory.com

 

cURL을 파이썬 코드로 변환해 주는 사이트를 이용해 파이썬 코드로 변환한다. 기존의 예제에 비하면 상당히 복잡한 코드인데, 일단 내용을 자세히 살피지 않고 HTTP 요청을 먼저 보내보자.

 

curlconverter 사이트

 

파이썬 파일을 만든 뒤에 변환된 코드를 붙여넣고, print(response.text)를 맨 끝에 추가한 뒤에 실행해 보면, 앞서 웹브라우저 개발자도구의 Network 탭에서 봤던 Response와 같은 내용이 출력될 것이다. 앞선 예제에서는 변환된 코드의 편집이 조금 필요했는데, 이번에는 편집 없이 곧바로 실행이 가능했다.

 

원하는 조건에 맞게 요청을 보내고, 수신된 데이터를 처리하는 방법에 대해서는 다음 게시글에서 다뤄본다.

반응형

댓글