일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- VUE
- null
- 스코프
- 리액트
- ES6
- 컴포넌트
- Interface
- let
- BIND
- 투두리스트
- var
- 자바스크립트
- CSS
- todolist
- 라우터
- 타입스크립트
- 뷰
- this
- js
- 모던 자바스크립트
- 객체
- 함수
- Number
- typescript
- function
- 데이터 타입
- react
- 모던
- redux
- const
- Today
- Total
홍준혁
파이썬 웹 크롤링 본문
오늘은 파이썬에서 웹 크롤링을 하는 방
법을 알아보도록 하자.
먼저 pip install로 아름다운 비누 4를 깔아주도록 하자!
그리고 requests 라는 패키지도 다운로드하여 주도록 하자.
pip list를 해보면
잘 받아진걸 확인한 후,
다운로드한 패키지에서 urlopen라는 함수와 BeautifulSoup라는 함수를 가져와서 사용해보도록 하자
이제 urlopen이라는 함수에 접속할 주소 값을 넣고, 변수에 담는다.
이제 이 정보를 html문서로 변환하는 과정을 거쳐야 하는데, 이때 아름다운 비누를 사용하는 것이다.
그렇게 bsObject에는 네이버의 html정보가 다 담겨있다.
그다음, 이 bsObject를 출력해보면,
이거는 빙산의 일각이고, 더 많다. 하지만 우리가 '크롤링'을 하기 위해서는 특정 정보만을 요구하게 되는데,
이렇게 하면, html정보에 title이라는 Element를 탐색하게 되고 결괏값으로는
이렇게 정상적으로 접근을 하였다.
일단 난 네이버에서 실시간 급상승 검색어에 접근하고 싶다.
그러려 먼 간단한 설정을 해주어야 하는데... 이유는 네이버에서 크롤링을 막았다고 해야 하나...? 아무튼 위의 방법대로 접근을 해보면 빈 배열만 나오고 크롤링이 안되기 때문에,
네이버에 데이터랩에서
따로 가지고 오는 방법을 사용해야 한다!
그리고 크롤링 방지되는 이유 중에 하나가 유저임을 확인해줘야 하는데, headers부분에서 유저를 인증해주고 있다.
그렇게 해서 실행해보면
잘 크롤링이 된 모습을 볼 수 있다.
이제 받아온 정보를 쉽게 알 수 있도록 해주는 작업을 해주자.
각 요소를 item이라 하고 각 아이템에 get_text()를 해주게 되면, 요소의 text값이 반환되어서 출력되는 모습을 확인할 수 있다.
그럼 이만 뿅