목차
1. 주제 소개
기존에 웹스크레이핑 관련 포스팅을 했었는데, 정부에서 운영하는 홈페이지들은 아래의 방법이 통하지 않는 경우가 많다.
왜냐하면 위 글의 예제(URL에 쿼리를 포함)와 같이 URL 주소를 이용해서 원하는 HTTP 요청을 바로 보낼 수가 없기 때문이다. 법원경매정보 사이트의 경우에도 물건상세검색 페이지에 들어와 있지만 URL 주소는 그대로인 것을 볼 수 있다.
셀레니움을 이용해 브라우저를 조작해서 물건상세검색 페이지로 접근할 수도 있겠지만, 이 방법을 사용하면 프로그램 작동에 시간이 많이 소요되고, 실행 과정에서 에러도 많이 발생하며, 무엇보다도 정부에서 운영하는 홈페이지에서는 필요한 element를 찾기도 어려운 경우가 많아 프로그램 작성에도 시간이 많이 걸린다.
이 글에서는 셀레니움을 이용하지 않고, 법원경매정보 홈페이지의 물건상세검색 페이지에서 경매물건 정보를 HTTP 요청을 통해 받아본다.
일단 요청을 보내 응답을 받는 데까지 소개하고, 2탄에서는 세부 조정을 통해 내가 원하는 조건으로 정보를 획득하는 방법을 소개한다.
2. cURL 커맨드 획득하기
일단 법원경매정보 홈페이지에 접속해 우리가 정보를 얻고자 하는 페이지인 물건상세정보 페이지로 들어간다.
아래 그림과 같은 물건상세검색 페이지가 열릴 것이다. 지금은 일단 HTTP 요청을 보내 응답을 받을 수 있는지까지만 확인해 볼 것이니 검색 조건은 그대로 둔다.
개발자도구를 열고 Network 탭을 선택한 상태에서 물건상세검색 페이지의 "검색" 버튼을 누른다.
그러면 다음 사진과 같이 서버와의 통신 결과들이 나타난다. Name, Status, Type 등 여러 정보들을 표시해 주고 있다.
우리가 관심 있는 것은 그중에 제일 위쪽에 있는 RetrieveRealEstMulDetailList.laf이다. 해당 항목을 선택하고, Response 탭으로 들어가 내용을 훑어 보면 우리가 찾고자 하는 경매 물건 관련 정보들이 들어 있는 것을 볼 수가 있다.
우리가 필요한 항목을 찾았으니 목록에서 해당 항목을 우클릭하고 cURL(bash)로 복사한다. 메모장같은 곳에 붙여 넣어 보면 상당히 긴 cURL 커맨드가 복사되어 있을 것이다. 이 커맨드를 이용하면 우리가 원하는 경매물건 정보를 HTTP 요청을 통해 받을 수 있다.
3. 파이썬 코드로 변환해 실행해 보기
이제 cURL 커맨드를 파이썬 코드로 변환해 실행하면 된다. 이때는 아래 게시글에서 소개한 적이 있는 사이트를 이용한다.
cURL을 파이썬 코드로 변환해 주는 사이트를 이용해 파이썬 코드로 변환한다. 기존의 예제에 비하면 상당히 복잡한 코드인데, 일단 내용을 자세히 살피지 않고 HTTP 요청을 먼저 보내보자.
파이썬 파일을 만든 뒤에 변환된 코드를 붙여넣고, print(response.text)를 맨 끝에 추가한 뒤에 실행해 보면, 앞서 웹브라우저 개발자도구의 Network 탭에서 봤던 Response와 같은 내용이 출력될 것이다. 앞선 예제에서는 변환된 코드의 편집이 조금 필요했는데, 이번에는 편집 없이 곧바로 실행이 가능했다.
원하는 조건에 맞게 요청을 보내고, 수신된 데이터를 처리하는 방법에 대해서는 다음 게시글에서 다뤄본다.
'코딩 > 자동화' 카테고리의 다른 글
Go 언어(golang)로 파이썬보다 속도가 n배 빠른 웹스크레이퍼(크롤러) 만들기 (1) | 2022.03.07 |
---|---|
엑셀 매크로(VBA script)를 파이썬 스크립트로 바꾸는 방법/win32com (1) | 2021.12.10 |
웹 크롤링, 웹 자동화 기초/HTML 문서의 구조와 태그(h, p, a, div, ...) (0) | 2021.12.06 |
파이썬에서 ID, 비밀번호 입력이나 파일, 폴더 선택 창을 띄우는 방법/tkinter, pyautogui (0) | 2021.12.03 |
파이썬을 이용한 웹스크레이핑(웹크롤링) 예제/requests와 beautifulsoup로 웹페이지 정보 추출하기 (0) | 2021.11.30 |
댓글