ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 첫 번째 과제: Crawling
    개인 프로젝트 A 2023. 10. 11. 22:44

    나만의 Life-Study 질의응답 모델을 만들기 위한 첫 번째 과제는 바로 데이터 크롤링이다. 무료로 풀려있는 라이프 스터디 영어판을 데이터 형태로 가공할 필요가 있다.

     

    Beautiful Soup

    아래 사이트에서 Beautiful Soup을 실습해보고 나에게 맞게 변형해서 사용하고자 했다.

    Real Python - Beautiful Soup: Build a Web Scraper With Python

     

    먼저 필요한 모든 링크를 크롤링한 뒤 원문을 추출할 생각이었다. 그런데....... Beautiful Soup을 통해 추출한 링크로는 접속할 수가 없었다. 크롤링 라이브러리를 통해 접속하려고 하면 에러가 났고, 인터넷에서 직접 주소를 입력하면 로그인 페이지로 전환되었다. 계속해서 링크 추출 및 입력을 반복한 결과 링크가 매번 변경된다는 사실을 발견했다. 링크 주소 예시는 다음과 같다.

     

    https://www.ministrybooks.org/books/reader.php?hid=bVHh-RU-PHaE88JegQ9rUeD_gaX1wD8zYCIMFUT4gDXOQRgCk5Pyu86hFrXoIBXj1 

     

    정확히는 ?hid=의 뒷부분이 계속 변경되었다. 검색해보아도 알맞은 정보를 얻을 수가 없었다. 아무튼 일시적으로만 유지되는 주소를 통해 일시적으로만 페이지에 접속할 수 있도록 만들어 놓은 것으로 추측했다.

     

    Selenium

    어쩔 수 없이 동적 사이트(dynamic site)를 크롤링하는데 필요한 셀레니움을 배워야만 했다. 아래 사이트를 많이 참고했다.

    Browser Stack - Selenium Python Tutorial (with Example)

     

    이외에도 여러 사이트를 방문하며 정보를 수집했는데, Selenium이 사장된(deprecated) 기능이 많아서 오류 고치느라 고생좀 했다.

    결과적으로는 원문 추출이 필요한 모든 사이트를 방문하는데 성공했다. 이제 데이터를 어떤 형태로 저장할지 고민해보고 원문만 알맞은 형태로 추출해오면 될 것 같다. (그전에 Github에 연동부터 해야하긴 한다 ㅎㅎ)

    '개인 프로젝트 A' 카테고리의 다른 글

    첫 번째 과제: Crawling(2)  (0) 2023.12.10

    댓글

Designed by Tistory.