KT 에이블스쿨 : 데이터 수집 - 동적 페이지 크롤링

     





    동적 페이지 

    BeautifulSoup을 이용하여 HTML 문자열 데이터 parsing해야한다. 

    정적 페이지에서는 주로 json 형식으로 와서 파싱이 쉽지만, 동적 페이지는 html 계층적인 구조에 따라서 파싱을 달리해야되서 꽤나 성가셔짐


    동적 페이지 크롤링하는 순서 

    1~2까지는 정적 페이지랑 동일하지만, 이후에 response를 파싱하는 것만 차이가 있다. 

    1. 웹페이지 분석(url) + 크롬 개발자 도구 

    2. request(url) > response 


    3. response.text 로 동적/정적 페이지 구분

    html형태이면 동적 페이지, json 형태이면 정적 페이지 


    4. str형태인 response(html)을 파싱하기위해, beautifulsoup 데이터타입의 객체로 변경


    5. beautifulsoup 데이터타입의 객체를 css-selector를 써서, html을 text로 변환

    하나의 element 만을 선택할려면 select_one()을 써서 계층구조를 매개변수로 전달해주면되고,

    여러개의 element를 선택할려면 select()를 써야한다. 


    6. DataFrame 으로 변환




    동적 페이지 실습 

    1. 네이버 연관 검색어 수집

    - 네이버에 어떤 키워드를 검색했을때, 나오는 연관검색어를 크롤링


    2. Gmarket

    - 베스트 상품 200개 데이터 수집

    - 상품의 이미지 200개 다운로드





    ------------------------------------------------------


    단 이틀만에,, 

    파이썬의 클래스, 모듈, 패키지, 라이브러리에 대한 개념을 배우고, 

    웹 client, server 상호작용 원리를 활용해서 크롤링을 하는 이론에 배우고,

    정적 페이지 실습을 5개하면서 감을 잡았고,

    (Rest api로 카카오 kogpt 기능 사용, 네이버 검색트렌드, 직방의 geohash, 네이버 주식, 다음 환율)

    동적 페이지도 몇시간만에 실습을 몰아쳐서 다 했다. . 


    단 이틀만에 이걸 다한게 믿겨지지 않는다..

    실습파일 총 8개 중에서 첫날에는 실습을 1개만 나갈정도로 진도를 천천히 나가셔서 여유롭게했지만,

    나머지 7개를 2일째인 오늘 다 몰아치셨다 .. 


    짧은 시간동안 방대한 양을 주실려는 강사님의 마음이 느껴졌다. 

    예전에 회사다닐때 업무자동화를 위해서 크롤링을 한 적이 생각났다. 

    그때는 어찌저찌 만들어서 사용하긴했는데, 이번에 크롤링을 단기속성으로 배우면서 제대로 이해하게 됐다. 


    예전엔 client, server와 get, post 방식 등 이론에 대해 제대로 이해하지 않고, 개발부터 냅다 했었더라면 

    이제는 크롤링 제법 할 줄 안다고 떳떳하게 얘기할 수 있게됐다 ! ㅋㅋ






    히히

    이번달은 휴가도 안쓰고 출석률 100%를 채웠다 

    그동안 복습을 열심히했는데, 다음주부터 하는 머신러닝은 좀 무섭긴하다. 

    얼마나 어려울까 .. 


    우선, 내일 미프2차부터 최선을 다해봐야겠다. ! 



    댓글

    이 블로그의 인기 게시물

    [KT 에이블스쿨 - IT 트랜드] 국내외 AI 관련 규제

    KT 에이블스쿨 : IT 인프라 (1일차~5일차) 공부 정리

    KT 에이블스쿨 : 핀테크 아이디어 공모전