[크롤링이란?]
1) 거미줄을 기어다니듯 정보를 수집한다
2) 어디에 활용될까?
1> 데이터 분석
2> 웹 사이트 자동화
3> 인공지능 학습 데이터
4> 기타 활용 사례
3) 웹 페이지는 어떻게 보나요?
1> HTTP 통신이 발생함
2> 웹 사이트는 응답을 HTML로 해준다
3) 크롤링은 css 선택자를 통해서 데이터를 수집한다
4) 정적 웹 크롤링 작업
* 2가지 작업이 필요하다
1> 데이터 받아오기
2> 데이터 뽑아오기
=> 대화형 코드 실행 문서
3> requests를 다운받기
: HTTP 요청 라이브러리예요. 쉽게 말하면, 파이썬으로 인터넷에서 웹페이지나 API 데이터를 가져올 때 씁니다.
4> bs4도 설치 / 기초 설치에는 bs4와 requests가 필수!
: 두 개 다 html에서 정보를 가져오는데 필수다!
5> 두 개 사용해서 정적 페이지 크롤링하기!
=> response.status_code 이걸로 사용하면 200으로 나온다
5-1> 문자열로 추출은 힘들다. 그래서 beautiful soup를 사용한다
=> html을 정렬을 해준다 == beautifulsoup
5-2> css 선택자로 html 전체를 이렇게 가져올 수 있다!
5-3> 부분으로도 특정해서 가져올 수 있음!
5-4> href에 경로를 가져온다
6> 멀티로 가져오기
: html 태그들도 트리 구조다!
6-1> select 선택자로 리스트를 반환
[위에 배운 걸로 실습하기]
1) 설치 프로그램
1> request.txt와 streamlit / playWrite_scrap.txt에 설치 프로그램을 작성한다
2) scraper_cli.py (정적 페이지 크롤링 → 엑셀)
1> 라이브러리
2> 입력 ui 창
: url / css / 어느 속성인지 선택
3> 스크랩 (출력 정보)
4> 추출 버튼으로 엑셀 다운로드 가능!
[네이버로 크롤링하기] with cursor ai
1) 필요한 라이브러리
2) 네이버 크롤링하기
1> 웹 화면 없이 크롤링함
2> 모바일과 데스크탑 버전을 따로 둠
3> 설정 파일로 controller로 생각 (init부터 시작)
3) 향후 확장 가능성을 염두해두고 키워드 생성
1> 특징은 로딩시간과 대기 시간이 중간 중간에 존재함
2> soup으로 웹 사이트 읽음
* 파이썬으로 필터하기
3> 제목과 링크 추출인데 / html 키워드로 한다
4> 뉴슬 링크 필터링하고 짧은 제목은 제외한다
- 사실 뉴스 제목이 짧을리가 없지
5> 뉴스 데이터로 아이템 파싱을 한다
- 다음 페이지로 이동해서 키워드 검색이면
4) 개별 기사 내용 크롤링하기
1> 기사 제목, 내용, 정보, 기사 url 로 return 해준다
2> service와 같다고 보면 된다
[윈도우에서 스케줄러로 크롤링 실행하기] - 배치 파일로 돌리기
참고 : https://www.youtube.com/watch?v=Uf21RUo3KNc&list=PLNO7MWpu0eeUFdGMirV8_EkiLETqj8xA4
크롤링 exe 네이버 : https://www.youtube.com/watch?v=jg5Ph2s4dUw
크롤링 설계 참고하기 : https://datasets.tistory.com/2682