Skip to content
Bible, Lee, Data

Bible, Lee, Data

Faith, software, data, and everyday life.

CrawlingAll posts

Engineering/Database

[JDBC] jSoup (HTML 파싱 라이브러리)

🍁jSouphttps://jsoup.org/ jsoup: Java HTML parser, built for HTML editing, cleaning, scraping, and XSS safetyjsoup: Java HTML Parser jsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors. jsoup implements the WHATWG Hjsoup.orgjsoup-1.16.2.jar 파일을 다운로..

Engineering/Database

[JDBC] Crawling (Scraping)

🍁Crawling (Scraping)웹 크롤링(Crawling), 웹 스크래핑(Scraping)웹 사이트(웹 페이지)에서 데이터를 수집하는 행위를 의미한다.엄밀히 따지면 크롤링은 타깃을 정해두지 않고 데이터를 가져와 그중에 쓸모 있는 데이터를 얻는 것을 의미하고, 스크래핑은 타깃을 정하고 처음부터 유효한 대상만을 긁어오는 것이다.먼저 긁어오고 나중에 데이터를 추출하느냐, 어떤 데이터를 추출할지 정하고 추출하느냐의 차이이다. 데이터를 얻어오는 방법a. 상대방(웹사이트)이 나에게 부여한 DB 권한을 사용하는 방법DB를 select 할 수 있는 권한만 있다면 언제든지 데이터를 사용할 수 있기 때문에 가장 좋은 방법이지만, 불가능하다. b. 상대방(웹사이트)이 외부에 공개한 OpenAPI를 사용하는 방법Ope..

Projects/Data Projects

성경 시편 Psalm 텍스트마이닝 분석 ver.1

Engineering/Database

[R] R Programming Web Crawling 워드클라우드

1. 기본 package 설정# install.packages("ggwordcloud")library(ggwordcloud) 2. 실행 시 매번 다르게 그려지도록 설정set.seed(123)color % slice_max(n, n = 50)), replace = TRUE) 3. 흑백으로 그리기set.seed(123)word_count %>% filter(n > 20) %>% ggplot(mapping = aes(label = word, size = n)) + geom_text_wordcloud_area() + scale_size_area(max_size = 20) ..

Engineering/Database

[R] R Programming Web Crawling 단어 빈도 분석

1. 기본 package 설정# install.packages("tidyverse")# install.packages("tidytext")library(KoNLP)useNIADic() # 단어사전library(tidyverse)library(tidytext) 2. 단어 빈도 및 퍼센테이지(%) 계산word_count % count(word, sort = TRUE) %>% mutate(prop = n / sum(n)) %>% ungroup()word_count 3. 단어 확인3-1. 전체 데이터 확인word_count %>% slice_max(n, n = 100) %>% print(n = 100) 3-2. 전체 데이터에서 상위 100개만 확인word_count %>% slice_max(n, n ..

Engineering/Database

[R] R Programming Web Crawling 형태소 분석

1. 기본 package 설정# install.packages("tidyverse")# install.packages("tidytext")useNIADic() # 단어사전library(KoNLP)library(tidyverse)library(tidytext) 2. 데이터 가져오기tm_tb ✔️여러 페이지의 데이터를 가져오는 방법으로 내보내기한 데이터를 사용한다. 3. 문서 전처리 (정규표현식 이용)tm_tb % mutate(본문 = gsub("[[:cntrl:]]", "", 본문)) %>% # 엔터 등 제거 mutate(본문 = gsub("[[:punct:]]", " ", 본문)) %>% # 구두점 등 제거 mutate(본문 = gsub("[[:digit:]]", "", 본문)) # 숫자 제..

Engineering/Database

[R] R Programming Web Crawling 데이터 수집 (네이버 기사)

기사 데이터를 수집하는 방법으로 아래 3가지를 제시한다.1. 데이터를 하나만 가져오는 방법2. 여러 페이지의 데이터를 가져오는 방법3. 조건을 설정하여 데이터를 가져오는 방법3가지 방법을 구현하는 코드는 거의 비슷하지만 상이한 부분에 대해서는 디버깅을 통해 문제를 해결하는 능력이 필요하다. 1. 기본 package 설정# 1. 기본 package 설치library(tidyverse)library(rvest)✔️ install.packages("") 2. 데이터를 하나만 가져오는 방법2-1. 검색어 설정# 2-1. 검색어 설정search_url ✔️ 검색어: ChatGpt 2-2. URL 주소 검색# 2-2. URL 주소 검색news_url % read_html() %>% # sp_nws1 > div..