과기부 AI 수업13[Python](웹 스크래핑 고급)

욱이·2024년 4월 27일
0

과기부 AI 수업 정리

목록 보기
13/20
post-thumbnail

🍕셀레니움이란?

  • 크롬, 인터넷익스플로어, 파이어폭스 같은 브라우저를 컨트롤 할 때 사용되는 라이브러리
  • 설치방법 : pip install selenium , pip install webdriver-manager 2가지 설치

🍕셀레니움 명령어

🍿Ex) 셀레니움을 이용해 네이버창 열고 닫아보기

- import 하는 명령어와 설명들

- 네이버 3초 열고 닫아보기

🍕셀레니움 element

  • 브라우저 상에서 보이는 버튼, 검색창, 사진등의 모든것

🍿접근법

  • 개발자도구에서 XPATH 이용해 네이버 찾아보기

🍿실습

  1. 셀레니움을 이용해 네이버로 이동

  2. XPATH를 이용해 네이버 화면에서 네이버 카페란을 클릭해 들어가기

  3. 네이버메인화면 -> 네이버카페화면으로 이동(Switch)

  4. XPATH를 이용해 검색창에 '생성형인공지능' 글 쓰기

  5. XPATH를 이용해 검색창의 글을 엔터쳐서 검색

  6. 검색된 페이지의 소스 가져오기

※ 주의사항

3번에 Switch 작업을 하지 않으면 화면상에서는 카페화면으로 이동하지만 2번에서 4번으로 글 작성이 되지 않는다. 화면상에서 시각적인 것은 화면으로 이동하지만 실제 프로그램상 첫 화면에서 인풋창을 XPATH한 것을 찾기 때문에 인풋창을 XPATH한 것을 찾지 못해 오류가 발생한다.

🍿셀레니움을 통해 구글플레이스토어(배민) 댓글 수집

🧨꿀Tip : 구글의 주소에는 고유의 아이디를 가지고 있다.

  1. 초기세팅

  2. 구글플레이에 있는 배달의민족 찾아 들어가기

  3. TAG_NAME을 활용 리뷰의 모든 내용을 보기 위해 페이지 특성상 페이지의 마지막으로 가기

  4. full XPATH 활용해서 '리뷰모두보기'버튼을 클릭해서 리뷰 전체창 띄우기

  5. 댓글 수집 페이지 다운키를 누르기 위해 댓글이 나와있는 페이지에서 CLASS_NAME의 값이 fysCi[댓글부분]데이터를 클릭하도록 한다.

  6. 100개의 댓글을 모으는 조건으로 조건식을 만든다.

  • 예전 댓글 초기화 -> 새로운 댓글 카운트 -> 댓글 개수는 100개까지만 확인

  • 조건은 100개의 댓글 까지 클래스이름 'h3YV2d' 라는 데이터를 전부 찾아서 만약 이전의 댓글의 갯수와 현재의 댓글 갯수가 똑같으면 멈추고 만약 새로운 댓글의 개수가 최대 댓글의수 100개보다 크거나 같아지면 멈추고 다 찾은후 댓글 데이타를 글자만 공백없이 csv파일로 저장해 파일을 만들어주는 조건을 만든다.

🧨 댓글뿐 아니라 별점도 함께 데이터 수집해 보고 다른 데이터들도 모아서 연습 필히 많이 해보기

profile
개발자 기록 끄적

0개의 댓글