부탁을 받아서
네이버에서 특정 키워드를 검색하고, 블로그에서 나온 자료를 크롤링 한 뒤 분석하는 걸 하게됐다.
python selenium webdriver를 사용해서 특정 키워드를 검색하고,
블로그 본문 내용을 가지고있는 element를 가져와서 변수에 저장한 뒤
형태소 분석을 통해 문단을 잘라서 특정 키워드가 얼마나 언급되는지를 분석할 것이다.
검색은 네이버 블로그 링크에서 검색어만 바꿔가면서 진행한다.
소스코드
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
32
|
from selenium import webdriver
import time
# 크롬 웹브라우저 실행
path = "D:/4_projects/chromedriver.exe"
driver = webdriver.Chrome(path)
url_list = []
content_list = ""
text = "검색하고 싶은 검색어 입력"
for i in range(1, 3): # 1~2페이지까지의 블로그 내용을 읽어옴
url = 'https://section.blog.naver.com/Search/Post.nhn?pageNo='+ str(i) + '&rangeType=ALL&orderBy=sim&keyword=' + text
driver.get(url)
time.sleep(0.5)
for j in range(1, 3): # 각 블로그 주소 저장
titles = driver.find_element_by_xpath('/html/body/ui-view/div/main/div/div/section/div[2]/div['+str(j)+']/div/div[1]/div[1]/a[1]')
title = titles.get_attribute('href')
url_list.append(title)
print("url 수집 끝, 해당 url 데이터 크롤링")
for url in url_list: # 수집한 url 만큼 반복
driver.get(url) # 해당 url로 이동
driver.switch_to.frame('mainFrame')
overlays = ".se-component.se-text.se-l-default" # 내용 크롤링
contents = driver.find_elements_by_css_selector(overlays)
for content in contents:
content_list = content_list + content.text # content_list 라는 값에 + 하면서 점점 누적
|
cs |
selenium webdriver를 설치해야 한다.
첫번째 반복문의 범위를 변경해서 몇 페이지에 있는 블로그 글까지 수집할 건지 반복한다.
가장 먼저 해당 블로그들의 url 을 먼저 수집하고
다음 반복문에서 그 url로 이동해서 블로그의 본문 데이터를 수집한다.
다음 게시글에서는 konlpy를 사용해서 형태소 단위로 분석하고 각 키워드별로 count 해서
검색어에 따라 어떤 연관된 키워드가 등장하는지를 분석해본다.
형태소 분석 및 데이터 시각화가 추가된 2편을 작성했습니다.
'프로젝트 > 블로그 크롤링' 카테고리의 다른 글
[python] 네이버 블로그 크롤링 및 분석하기 (2) (10) | 2021.05.28 |
---|