일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- T-OTP
- SpringBoot
- AuthenticatoinProvide
- UsernamePasswordAuthenticationFilter
- MFA
- Reduxpender
- cloud native
- MSA
- SpringRESTDocs
- SWAGGER
- Pender
- cheerio
- Spring Batch
- preventdefault
- Filter
- Spring REST Docs
- tasklet
- vue
- Crawling
- stopPropogation
- Spring Security
- vuejs
- OpenStack
- 리액트
- axios
- REACT
- Flyway
- gradle
- openapi3
- JavaScript
- Today
- Total
목록Crawling (2)
Miracle Morning, LHWN
네이버 블로그를 크롤링하는 과정에서 cheerio 로는 크롤링이 제한되는 상황이 나왔다. 첫 로딩된 HTML 에는 해당 element 가 display:none; 상태로 있었고, 특정 버튼을 눌러야 해당 element 가 나타났다. 다만, cheerio 를 이용한 크롤링은 DOM (Document Object Model: 웹 페이지에 대한 인터페이스) 이 계속 변하는 SPA (Single Page Application: 단일 페이지 어플리케이션) 에서는 사용할 수가 없어 puppeteer 를 추가적으로 사용하였다. cheerio 와 puppeteer 의 차이 cheerio 는 jQuery 를 이용해서 웹 페이지를 parsing 하고, 데이터 구조의 결과물을 탐색 및 조작할 수 있도록 도와주는 Node..
axios 와 cheerio 를 사용해서 내 블로그를 Crawling 했다. Axios JavaScript 를 이용해 AJAX Request 를 할 수 있는 라이브러리이다. (AJAX : Asynchronous JavaScript and XML, 비동기적으로 JSON 이나 XML 등의 데이터를 받을 수 있는 방법) cheerio jQuery 처럼 DOM Selector 기능을 제공한다. axios 로 받은 HTML 데이터에서 내가 크롤링할 정보만을 추출하는 곳에 사용할 것이다. exports.crawlBlog = async (ctx) => { let htmlData = []; // axios 를 활용해서 AJAX로 HTML 문서를 가져온다. const getHTML = () => { try { retur..