일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 파이썬
- 문자태그
- 크롤링
- 딥러닝실행
- 광주인공지능학원
- 웹 크롤링
- 프로젝트
- 웹툰
- 딥러닝수학
- Visual Studio Code
- 도서관관리
- 딥러닝
- 기본목록
- 보안용어
- 머신러닝
- while문
- 스마트인재개발원
- 멜론
- Python
- 크롬
- 스마트인재개발원 후기
- 주식
- HTML
- java
- for문
- 정보보호
- 컴퓨터보안
- 딥러닝기초수학
- Selenium
- 보안
- Today
- Total
자신의 일은 스스로하자
[웹 크롤링] #1 파이썬으로 네이버 / Melon 페이지 정보 불러오기 [스마트인재개발원] 본문
웹 크롤러란?
웹 크롤러(wed cralwler)는 조직적, 자동화된 방법으로 월드 와이드 웹을 탐색하는 컴퓨터 프로그램입니다. 웹 크롤러가 하는 작업을 '웹 크롤링'(web crawling) 혹은 '스파이더 링'(spidering)이라 부릅니다. 검색 엔진과 같은 여러 사이트에서는 데이터의 최신 상태 유지를 위해 웹 크롤링을 합니다.
웹 크롤러는 대체로 방문한 사이트의 모든 페이지의 복사본을 생성하는 데 사용되며, 검색 엔진은 이렇게 생성된 페이지를 보다 빠른 검색을 위해 인덱싱 합니다. 또한 크롤러는 링크 체크나 HTML 코드 검증과 같은 웹 사이트의 자동 유지 관리 작업을 위해 사용되기도 하며, 자동 이메일 수집과 같은 웹 페이지의 특정 형태의 정보를 수집하는 데도 사용됩니다.
※ 크롤링을 하는 프로그램은 Jupyter Notebook입니다.
네이버 홈페이지 정보 가져오기
- Requrst : 페이지의 정보를 요청할 때 사용하는 라이브러리
먼저 requrst를 import 해줍니다.
requrst를 줄인 req를 활용해. get() 함수를 불러 네이버 페이지를 요청합니다.
이것을 res라는 변수에 담아 줍니다.
res를 실행했을 때 결과가 <Response [200]>이 나왔다면 페이지를 가지고 왔다는 뜻입니다. (만약 결과에 <Response [406]>가 나왔다면 응답할 수 없다는 뜻입니다.)
res.text로 요청한 페이지의 정보를 보면 위 사진처럼 많은 정보가 출력됩니다.
- Melon 홈페이지 정보 가지고 오기
Melon은 req.get()을 활용해 불러오면 <Response [406]>라고 결과가 나옵니다.
위에서 말했듯이 결과가 <Response [406]>는 응답하지 못했다는 뜻으로 다른 방법으로 불러와야 합니다.
방법은
- Melon홈페이지에서 F12를 눌러 검사 페이지(?)를 열어주세요.
- 상단에 Network에 들어가 주세요 (아무것도 나오지 않는다면 Ctrl+R키를 눌러줍니다.)
- 맨 위 상단 >> www.melon.com를 선택해주세요. ( www.melon.com가 없다면 Type이 document인 것을 눌러줍니다)
- 위 상단 사진과 같은 화면이 뜹니다. 맨 아래 User-Agent로 시작되는 문장을 전체 복사합니다.
복사하면
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win 64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36
↑위 같은 형식으로 나옵니다. 이것을 딕셔너리 형식으로 묶어 줍니다.
h = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"}
<< : ←을 기준으로 묶어줍니다. >>
이렇게 딕셔너리로 묶은 후 다시 req.get()으로 가져오면
이때 headers로 앞에 작성한 h 딕셔너리를 반드시 받아줍니다.
그러면 <Response [200]>이 나온 것을 확인할 수 있습니다.
res.text로 요청을 하면 네이버 페이지 정보를 불러온 것처럼
Melon 페이지 정보도 잘 불러와진 것을 볼 수 있습니다.
스마트인재개발원에서 진행된 수업입니다.
'웹 크롤링' 카테고리의 다른 글
[웹 크롤링] #4_2 파이썬 Selenium 모듈을 사용해 컴퓨터 제어 [스마트인재개발원] (0) | 2021.06.17 |
---|---|
[웹 크롤링] #4_1 파이썬 Selenium 모듈을 사용해 컴퓨터 제어 [스마트인재개발원] (0) | 2021.06.15 |
[웹 크롤링] #3 파이썬으로 멜론 차트 TOP 100 데이터 프레임 생성, CSV저장 / pandas [스마트인재개발원] (0) | 2021.06.13 |
[웹 크롤링] #2 파이썬으로 멜론 TOP100 수집 / BeautifulSoup [스마트인재개발원] (0) | 2021.06.07 |