네이버 지식in 웹크롤링 만져보기 겸 감성분석시도
웹크롤링으로 네이버 지식in 수집, 분석해보기
-
해당 사이트 노하우를 바탕으로 한 네이버 지식인 웹크롤링한 예제를 시도해본다.
-
쓰일 도구는 beautiful soup로 웹크롤링을 진행할 예정.
-
그 외 도구로 selenium 등이 존재.
-
웹 크롤링에 대한 자세한 개념은 이전에 설명 중심의 포트폴리오가 있기에 간단 설명만으로
목차
-
라이브러리 및 버전, 상태확인
-
타겟 웹사이트 및 상태확인
-
해당 웹사이트 부제목등 내용 확인 및 크롤링
-
파일 저장
-
겸상 감성분석 시도..
-
마무리
1. 라이브러리 버전 및 상태확인
- beauitful soup 및 웹 접속에 관련 라이브러리 확인
import requests
import bs4
from bs4 import BeautifulSoup
print ("You have successfully imported requests version "+requests.__version__)
print ("You have successfully imported beautifulsoup version "+bs4.__version__)
You have successfully imported requests version 2.28.1 You have successfully imported beautifulsoup version 4.11.1
버전 확인 및 인식은 잘됨
2. 타겟 웹사이트 확인
- 접속 상태 및 예시 확인을 해보자
url = 'https://kin.naver.com/search/list.naver?query=%ED%8C%8C%EC%9D%B4%EC%8D%AC'
response = requests.get(url)
response
<Response [200]>
접속 확인 200 코드가 출력
정상인식
이 외에 반응코드를 알아본다면 해당 사이트 확인
해당 웹사이트 부제목등 내용 확인 및 크롤링
-
접속도 확인되니 이제 안에 내용을 확인하고, 크롤링을 해볼 예정
-
참고 위키독스사이트에서도 그렇듯 특정 html요소 아래 text들을 모집.
해당 웹사이트 부제목등 확인
-
각 모을 텍스트의 부제목등의 데이터 및 출력상태 확인
-
내용도 어떻게 모을까 방안을 확인
# 부제목 리스트
html = response.text
soup = BeautifulSoup(html, 'html.parser')
ul = soup.select_one('ul.basic1')
titles = ul.select('li > dl > dt > a')
for title in titles:
print(title.get_text())
파이썬 백트레킹 질문 파이썬 질문 파이썬 식 좀 알려주세요 파이썬문제 v파이썬 파이썬 요새 파이썬으로 개발하는 이유 파이썬 코딩 질문 코드업 1602 파이썬 파이썬 질문있습니다! 도와주세요 ㅠㅠ 파이썬 질문
-
위와 같이 부제목리스트들이 나온다.
-
요약내용도 나올 수 있는지 테스트
summaries = ul.select('li > dl')
for summary in summaries:
print(summary.findChildren('dd')[1].get_text())
만약에 파이썬 이라는 입력하고 파이썬 파썬이 이파썬 이썬파... string = "파이썬" n = len(string) data = list(string) permute(data, 0, n) 파이썬...
파이썬 공부를 하고 있는데 파이썬으로 어떻게 만들어야 하나요...? a=178 b=37 print(f' {a:3}-{b:3}=') print(f' {a:016b}-{b:016b}=') print(f' {a...
사진처럼 나오게 파이썬 식 좀 알려주세요 아래를 참고해 보세요. w='abcdefghijklmnopqrstuvwyz' wl=list(w) nw=input('영문 소문(a ~ z) 1개를...
파이썬으로 아래문제를 해결해주세요. # 1번 이미지 H 3개 list = ['H', 'T', 'H', 'H', 'H', 'T', 'T', 'H', 'T', 'H', 'T', 'T'] # 2번 이미지 T 5개...
v파이썬 파이썬 v파이썬이랑 파이썬이랑 같은건가요??? v 파이썬? 첨 들어 보네요. 혹시 이런거 말씀 이신가요? V는 장식일 뿐 입니다
요새 파이썬으로 개발하는 이유 대한민국 1호 벤처기업 비트컴퓨터에서 운영하는... 파이썬의 장점에 대해 문의하셨네요. 파이썬의 가장 두드러진 장점은 쉬운 문법을...
이 프로그램 파이썬 코드 알 수 있을까요?? lst = [] # 결과 저장용 리스트 변수 s = '' # 알고자 하는 과일 변수 선언 while True: # 과일을 몇개 담을지...
(파이썬) def abs(num): if num>=0: return num else: return num*-1 value=float(input... 문제에 힌트는 물론 C 일 경우이지만 이것은 파이썬에서도 비슷하게 적용...
... 파이썬 기초 배우는 학생입니다. 문제를 받았는데 제가 공부가 부족해서 잘... 1. 파이썬 슬라이싱 찾아서 공부해보세요. 아래 그림만 몇번 보고 직접 수치를...
파이썬 이 문제 어떻게 하는건가요? with open('random_numbers.txt', 'r') as f: data = f.read().split() even_numbers = [number for number in data if...
-
이와같이 요약문만 이렇게 받아올 수 있게됨.
-
다만 주의사항! 이 존재.
- 만일 naver html구조가 바뀌게 될경우 다시 고쳐야 되는 문제가 생김.
-
만일 여러장 가능한지 테스트도 해보겠다.
만약 여러장이 가능하려면..
-
위 텍스트를 읽고 바로 다음장 웹페이지 접속 후 읽을 수 있어야 함.
-
이전 데이터 보존은 잘 되어야 함.
-
대량 데이터 보존은 가능한가?
- 위와 같은 주의점을 상기하며 하나하나씩 진행.
다음 장 접속한다면..
- naver 지식in에서 사이트 주소는 대략 아래와 같음
https://kin.naver.com/search/list.naver?query=%ED%8C%8C%EC%9D%B4%EC%8D%AC&page=1
- 다음장 페이지 사이트 주소는 이와 같음
https://kin.naver.com/search/list.naver?query=%ED%8C%8C%EC%9D%B4%EC%8D%AC&page=2
-
위 사이트 주소를 비교해 볼때, 위에 page수 만큼 반복해서 계속 접속해서 가능하지 않을까 생각
-
먼저 다음 장 페이지 접속해서 데이터를 읽을 수 있는지 확인
# 주소 string 결합에서..
url = 'https://kin.naver.com/search/list.naver?query=%ED%8C%8C%EC%9D%B4%EC%8D%AC&page='
for i in range(1, 21): # 간단하게..
geturl = url + str(i)
# print(geturl)
response = requests.get(geturl)
print(str(i) + " num url res : " + str(response) )
1 num url res : <Response [200]> 2 num url res : <Response [200]> 3 num url res : <Response [200]> 4 num url res : <Response [200]> 5 num url res : <Response [200]> 6 num url res : <Response [200]> 7 num url res : <Response [200]> 8 num url res : <Response [200]> 9 num url res : <Response [200]> 10 num url res : <Response [200]> 11 num url res : <Response [200]> 12 num url res : <Response [200]> 13 num url res : <Response [200]> 14 num url res : <Response [200]> 15 num url res : <Response [200]> 16 num url res : <Response [200]> 17 num url res : <Response [200]> 18 num url res : <Response [200]> 19 num url res : <Response [200]> 20 num url res : <Response [200]>
-
이하로 모두 접속가능 확인
-
그러면 내용가능한지 임의로 테스트..
# page2 test.
geturl = url + str(2)
response = requests.get(geturl)
print(response)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
ul = soup.select_one('ul.basic1')
summaries = ul.select('li > dl')
for summary in summaries:
print(summary.findChildren('dd')[1].get_text())
<Response [200]>
코딩뉴비인데 시작할때 좋은 파이썬 프로그래밍 책 추천해주세요 두근두근 파이썬이나 혼자 공부하는 파이썬... 근데 개인적으로는 혼자 공부하는 파이썬...
파이썬하고 셀레니움 이용해서 자동으로 유튜브 영상 트는코드를 작성했는데... 터미널에서 실행한다고 하신다면, python 파이썬파일.py 로 실행하시면 됩니다.
... 사람은 파이썬을 써서 둘 중 어떤걸 써야할지, 두 프로그램의 쓰임새는 무엇인지 (예: 파이썬은 ~~개발할때... 편집기이고 소스코드에는 파이썬 자바 등등이 되겠습니다~
... 핵심, 파이썬 언어의 핵심 기반 등이요 운영체제의... 파이썬은 프로그래밍 언어로, 운영체제하고는 다른... 파이썬이라는 언어에 대해서도 어떤 기반에서 구현했느냐에...
현재 코랩으로 파이썬 데이터 분석중인데 .query()만 작성하면 이런 오류가... class는 파이썬 키워드입니다. 다른 스펠링으로 바꾸세요. 예를 들면 Class와...
파이썬 천재님들 도와주십셔 def function(a, b): result = 0 if a<1 or b<1: # 1보다... 제 블로그에 파이썬 관련 글이 있습니다. 놀러오세요~~~ https://c-i-s.tistory.com/
문제 답이 없어서 파이썬으로 푸는 과정 알려주시면 감사하겠습니다 이렇게 하시면 됩니다. import random user_number = [] print("1부터...
현재 파이썬 기초 끝내고 진로를 프로그래밍 쪽으로 생각... 현재 파이썬을 배우면서도 이걸 게임을 만들 때 어느... 파이썬은 언어이고 유니티는 툴?이니까 언어인 파이썬을...
파이썬 모듈 만들기 문제입니다. 파란색처럼 결과가 나와야... 파이썬으로 코드 작성해주시면 감사하겠습니다. score.py def total...
파이썬으로 적분을 계산하는 프로그램을 만들려고 하는데 input 함수를... 파이썬에서 적분이든 일련의 수식을 계산할 때 lamba 함수를 많이 사용합니다. fx...
# page13 test.
geturl = url + str(13)
response = requests.get(geturl)
print(response)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
ul = soup.select_one('ul.basic1')
summaries = ul.select('li > dl')
for summary in summaries:
print(summary.findChildren('dd')[1].get_text())
<Response [200]> ... 학교에서 파이썬을 배우거든요. 저기 문항에 있는거 코딩한거 알려주세요. 빨리요!! 나머지는 설명이 부족하여 물 하라는 건지..... 파이썬에서 가장 중요한게 무엇이고 대학에서 컴공이나... 파이썬에서 가장 중요하다는게 실무과정에서 자주 쓰이는 부분을 이야기하는건지 파이썬 라이브러리 관련... 엘셀파일에 음식점별로 가격, 평점, 거리를 다 부여해놓고 파이썬에서 도출하는... 파이썬 GUI 프로그래밍을 위해서, tkinter 라는 라이브러리를 사용하면 되겠습니다.... 기본 파이썬 콘솔에서는 >>> a = [1, 2, 3, ['a', 'b', 'c']] >>> >>> a[-1][0] 'a' 이런식으로 'a' 가... 파이썬 콘솔에서는 한줄 한줄 실행시켜서 평가된 결과를 보여주지만, 예를 들어... 파이썬으로 안드로이드, PC 앱 개발이 가능한가요? 안녕하세요. 대한민국 1호 벤처기업... 파이썬 개발에 관심을 갖고 계신데요. 파이썬으로도 안드로이드 모바일 앱 혹은... 안녕하세요 파이썬 관련한 첨부파일과 같이 질문 드립니다 ㅠ ㅠ 혹시 이 질문 답변해주실수있나요?? 첨부 뒷쪽에 급하게 풀어 볼려고는 해 보았습니다. (참고만 하세요) 파이썬 프로그램을 만들고 있습니다. 파이썬 버튼을 누르면 새창을 띄우는 것을 만들었는데 이 새창에 이미지가 나왔으면... 파이썬 테마랑 사진 같은 거 들어간 쉬운 게임... 아래에 파이썬 코딩 해주시는 분들 모여있는 곳 링크... 되세요 >파이썬 관련 제작 문의 (PC 접속시 링크) >파이썬 관련 제작 문의... 파이썬 독학하고 있습니다. 기본기는 책이나, 강조를 통해 공부하면 되는데, 개발하다... 파이썬 언어를 공부하고 계신데요. 개발자들의 Q&A 사이트로는 스택오버플로우가 가장... 파이썬으로 그래프 그리려고 하는데 대체 왜 오류가 뜨는 걸까요?... 사용하는 파이썬 인터프리터 환경에 패키지가 설치되어있지 않아서 그래요. 에디터에서 파이썬 파일...
-
페이지 9,13을 대표로 실험적으로 진행해보았는데 문제없이 수집됨.
-
이를 바탕으로 100페이지까지 수집해서 파일로 저장해보기로 했다.
-
여기서 다음 셀과의 구분을 위해 ‘`’ backspace로 구분..(다만 이건 txt 파일 저장시..)
get_texts = []
url = 'https://kin.naver.com/search/list.naver?query=%ED%8C%8C%EC%9D%B4%EC%8D%AC&page='
for i in range(1, 101): # 1 - 100 까지 페이지 수집.
geturl = url + str(i)
response = requests.get(geturl)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
ul = soup.select_one('ul.basic1')
summaries = ul.select('li > dl')
for summary in summaries:
get_texts.append(summary.findChildren('dd')[1].get_text())
print("web crolling complete : page=" + str(i))
with open('./naver_py_know_in.txt', 'wb') as file_handler:
for get_text in get_texts:
file_handler.write((get_text + "`\n").encode('utf8'))
web crolling complete : page=1 web crolling complete : page=2 web crolling complete : page=3 web crolling complete : page=4 web crolling complete : page=5 web crolling complete : page=6 web crolling complete : page=7 web crolling complete : page=8 web crolling complete : page=9 web crolling complete : page=10 ...... web crolling complete : page=94 web crolling complete : page=95 web crolling complete : page=96 web crolling complete : page=97 web crolling complete : page=98 web crolling complete : page=99 web crolling complete : page=100
# 위 경로 잘못 설정.. 파일 생성 잊어먹음으로 다시 일부만 실행.
with open('./naver_py_know_in.txt', 'wb') as file_handler:
for get_text in get_texts:
file_handler.write((get_text + "`\n").encode('utf8'))
- 위와 같이 100페이지의 파이썬 관련 지식in 데이터 수집.

-
txt 저장도 위와 같이 저장.
-
이후 이대로 분석을 진행해봄
데이터 전처리
-
리스트로 들어간 데이터를 바탕으로 전처리 진행 (참고는 이전에 했던 내용)
-
간단하게 설명거의 없이 진행
# 라이브러리 읽어오기
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import re
import urllib.request
from konlpy.tag import Okt
from tqdm import tqdm
from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
df_texts = pd.DataFrame(get_texts, columns=['text'])
df_texts.head(5)
| text | |
|---|---|
| 0 | 만약에 파이썬 이라는 입력하고 파이썬 파썬이 이파썬 이썬파... string = "... |
| 1 | 파이썬 공부를 하고 있는데 파이썬으로 어떻게 만들어야 하나요...? a=178 b=... |
| 2 | 사진처럼 나오게 파이썬 식 좀 알려주세요 아래를 참고해 보세요. w='abcdefg... |
| 3 | 파이썬으로 아래문제를 해결해주세요. # 1번 이미지 H 3개 list = ['H',... |
| 4 | v파이썬 파이썬 v파이썬이랑 파이썬이랑 같은건가요??? v 파이썬? 첨 들어 보네... |
len(df_texts)
1000
-
이와 같이 text데이터들을 pandas data로 이관
-
데이터 갯수 및 데이터 상위5개 표현
중복제거
print(df_texts['text'].nunique())
df_texts.drop_duplicates(subset=['text'], inplace=True)
len(df_texts)
997
997
null값 처리
print(df_texts.isnull().values.any())
False
- 없으므로 패스..
쓸모없는 데이터 처리
df_texts['text'] = df_texts['text'].str.replace("[^ㄱ-ㅎㅏ-ㅣ가-힣 ]","")
df_texts['text'] = df_texts['text'].str.replace('^ +', "") # white space 데이터를 empty value로 변경
df_texts['text'].replace('', np.nan, inplace=True)
print(df_texts.isnull().sum())
text 0 dtype: int64
토큰화
# 토큰화 불용어 정의
stopwords = ['의','가','이','은','들','는','좀','잘','걍','과','도','를','으로','자','에','와','한','하다']
# Okt 투입
okt = Okt()
okt.morphs('파이썬 징징징, 어려워요.', stem = True)
['파이썬', '징징', '징', ',', '어렵다', '.']
- 여기서 다음 단계로 들어가기전에 기존 데이터를 8:2로 나누기.
len(df_texts)
train_texts = df_texts[:797]
test_texts = df_texts[797:]
len(train_texts)
797
len(test_texts)
200
- 나눠진게 확인되면 진행
X_train = []
for sentence in tqdm(train_texts['text']):
tokenized_sentence = okt.morphs(sentence, stem=True) # 토큰화
stopwords_removed_sentence = [word for word in tokenized_sentence if not word in stopwords] # 불용어 제거
X_train.append(stopwords_removed_sentence)
100%|██████████| 797/797 [00:02<00:00, 324.79it/s]
X_test = []
for sentence in tqdm(test_texts['text']):
tokenized_sentence = okt.morphs(sentence, stem=True) # 토큰화
stopwords_removed_sentence = [word for word in tokenized_sentence if not word in stopwords] # 불용어 제거
X_test.append(stopwords_removed_sentence)
100%|██████████| 200/200 [00:00<00:00, 333.44it/s]
정수인코딩
# 정수 인코딩 집합생성
tokenizer = Tokenizer()
tokenizer.fit_on_texts(X_train)
print(tokenizer.word_index)
{'파이썬': 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, '때': 33, '설치': 34, '들다': 35, '인데': 36, '프로그래밍': 37, '학원': 38, '모르다': 39, '독학': 40, '만': 41, '관련': 42, '나오다': 43, '해보다': 44, '적': 45, '좋다': 46, '함수': 47, '입력': 48, '기초': 49, '드리다': 50, '아니다': 51, '안': 52, '없다': 53, '해주다': 54, '고': 55, '부터': 56, '아래': 57, '문': 58, 'ㅠㅠ': 59, '가능하다': 60, '과제': 61, '저': 62, '거': 63, '개발': 64, '이용': 65, '님': 66, '번': 67, '현재': 68, '쉬다': 69, '더': 70, '나': 71, '자다': 72, '출력': 73, '책': 74, '이나': 75, '작성': 76, '게임': 77, '인가요': 78, '혹시': 79, '받다': 80, '추천': 81, '도와주다': 82, '초보': 83, '않다': 84, '초': 85, '참고': 86, '다른': 87, '과정': 88, '다': 89, '게': 90, '되어다': 91, '그': 92, '많이': 93, '분': 94, '개': 95, '짜다': 96, '방법': 97, '강의': 98, '시작': 99, '무엇': 100, '위': 101, '도움': 102, '이랑': 103, '늘다': 104, '데이터': 105, '서': 106, '부탁드리다': 107, '쓰다': 108, '하나요': 109, '등': 110, '값': 111, '어렵다': 112, '에서는': 113, '오다': 114, '인': 115, '왜': 116, '가다': 117, '많다': 118, '버전': 119, '식': 120, '가요': 121, '가장': 122, '결과': 123, '라이브러리': 124, '처음': 125, '기본': 126, '뭐': 127, '답변': 128, '사진': 129, '문법': 130, '알': 131, '혼자': 132, '궁금하다': 133, '그렇다': 134, '이렇게': 135, '입문': 136, '그냥': 137, '까지': 138, '문자열': 139, '써다': 140, '경우': 141, '감사하다': 142, '면': 143, '풀다': 144, '웹': 145, '너무': 146, '계시다': 147, '처럼': 148, '학생': 149, '보고': 150, '걸': 151, '에는': 152, '어느': 153, '설명': 154, '일단': 155, '시키다': 156, '랑': 157, '그리고': 158, '자격증': 159, '이렇다': 160, '두': 161, '예': 162, '숫자': 163, '간단하다': 164, '부분': 165, '정보': 166, '내용': 167, '곳': 168, '지금': 169, '급': 170, '이라는': 171, '일': 172, '컴퓨터': 173, '변수': 174, '구현': 175, '모듈': 176, '저장': 177, '정도': 178, '하나': 179, '노트북': 180, '과외': 181, '러닝': 182, '쪽': 183, '안되다': 184, '라는': 185, '같이': 186, '클래스': 187, '괜찮다': 188, '시': 189, '자바스크립트': 190, '라고': 191, '인강': 192, '이유': 193, '문의': 194, '리스트': 195, '오류': 196, '여기': 197, 'ㅠ': 198, '고민': 199, '다음': 200, '투': 201, '앱': 202, '사람': 203, '하': 204, '못': 205, '줄': 206, '내공': 207, '고수': 208, '후': 209, '그래서': 210, '급하다': 211, '해': 212, '시간': 213, '점프': 214, '통해': 215, '취업': 216, '무슨': 217, '환경': 218, '열': 219, '대해': 220, '근데': 221, '이고': 222, '이름': 223, '계속': 224, '수업': 225, '돼다': 226, '설정': 227, '듣다': 228, '유튜브': 229, '이해': 230, '위해': 231, '대한': 232, '인터프리터': 233, '뜨다': 234, '건가': 235, '여러': 236, '먼저': 237, '한번': 238, '지원': 239, '달': 240, '마스터': 241, '어떤': 242, '쓰이다': 243, '바꾸다': 244, '블로그': 245, '교육': 246, '에도': 247, '다시': 248, '요즘': 249, '활용': 250, '때문': 251, '모바일': 252, '윈도우': 253, '구글': 254, '지': 255, '머신': 256, '아두이노': 257, '맞다': 258, '홈페이지': 259, '만약': 260, '파': 261, '비트': 262, '찾다': 263, '기반': 264, '키': 265, '계산': 266, '이라': 267, '개발자': 268, '차이': 269, '검색': 270, '주피터': 271, 'ㅜㅜ': 272, '자체': 273, '엑셀': 274, '창': 275, '사이트': 276, '따르다': 277, '셸': 278, '가지': 279, '뭔가': 280, '해당': 281, '추가': 282, '온라인': 283, '교재': 284, '전': 285, '알아보다': 286, '관악구': 287, '해결': 288, '이미지': 289, '인지': 290, '분석': 291, '답': 292, '연산': 293, '정수': 294, '성': 295, '주': 296, '형태': 297, '이런': 298, '뭘': 299, '점': 300, '파이': 301, '특정': 302, '필요하다': 303, '쓸다': 304, '인공': 305, '지능': 306, '들어가다': 307, '라': 308, '관심': 309, '링크': 310, '다르다': 311, '깔다': 312, '따다': 313, '그런데': 314, '조금': 315, '빅데이터': 316, '강좌': 317, '직접': 318, '글': 319, '모두': 320, '바라다': 321, '아시': 322, '학습': 323, '수준': 324, '자세하다': 325, '몇': 326, '하지만': 327, '아무': 328, '의미': 329, '확인': 330, '생기다': 331, '뜻': 332, '누르다': 333, '분야': 334, '이르다': 335, '줄다': 336, '넣다': 337, '알고리즘': 338, '초보자': 339, '끄다': 340, '위치': 341, '말': 342, '말씀': 343, '에서도': 344, '부족하다': 345, '생각': 346, '이란': 347, '보이다': 348, '종료': 349, '올리다': 350, '연습': 351, '백엔드': 352, '난이도': 353, '구': 354, '법': 355, '건지다': 356, '점수': 357, '학교': 358, '컴파일': 359, '불다': 360, '왕초보': 361, '정확하다': 362, '다양하다': 363, '막': 364, '데': 365, '빨리': 366, '중요하다': 367, '라면': 368, '내장': 369, '간': 370, '주시': 371, '상태': 372, 'ㅠㅠㅠ': 373, '열다': 374, '인터넷': 375, '스튜디오': 376, '월': 377, '찾아보다': 378, '네': 379, '해도': 380, '공식': 381, '비슷하다': 382, '그림': 383, '둘': 384, '코랩': 385, '유니티': 386, '도저히': 387, '남기다': 388, '두다': 389, '읽다': 390, '년': 391, '나다': 392, '여': 393, '조건': 394, '평균': 395, '바로': 396, '터틀': 397, '말고': 398, '장': 399, '해외': 400, '각각': 401, '다니다': 402, '텍스트': 403, '나타내다': 404, '접속': 405, '패키지': 406, '자료형': 407, '뭔': 408, '어디': 409, '제대로': 410, '께서': 411, '죠': 412, '세': 413, '당연하다': 414, '겁니다': 415, '선': 416, '얼': 417, '보다는': 418, '시험': 419, '비교': 420, '경로': 421, '이참': 422, '가져오다': 423, '다운': 424, '이제': 425, '비': 426, '제공': 427, '수학': 428, '작동': 429, '사실': 430, '적용': 431, '등등': 432, '워드': 433, '놀다': 434, '만들기': 435, '나머지': 436, '처리': 437, '채택': 438, '건': 439, '맞추다': 440, '제일': 441, '초기': 442, '번째': 443, '서다': 444, '단어': 445, '백': 446, '그래픽': 447, '코': 448, '종류': 449, '및': 450, '으로도': 451, '없이': 452, '생': 453, '서울': 454, '이신': 455, '에요': 456, '이번': 457, '정말': 458, '대학': 459, '첨부': 460, '분들': 461, '기': 462, '로는': 463, '연산자': 464, '선택': 465, '표현': 466, '나중': 467, '조건문': 468, '주신': 469, '명령': 470, '관': 471, '최대한': 472, '이면': 473, '딥': 474, '야하다': 475, '지식': 476, '국비': 477, '따로': 478, '폴더': 479, '얼마': 480, '맥북': 481, '별': 482, '화면': 483, '내': 484, '재미있다': 485, '공': 486, '완전': 487, '개념': 488, '아나콘다': 489, '저렇게': 490, '서버': 491, '들어서다': 492, '이외': 493, '쉽다': 494, '터미널': 495, '해봤다': 496, '원': 497, '예시': 498, '한글': 499, '천천히': 500, '차이점': 501, '최소': 502, '첫': 503, '형': 504, '모으다': 505, '보여주다': 506, '반복': 507, '쓰기': 508, '틀리다': 509, '일반': 510, '실습': 511, '또는': 512, '요청': 513, '우선': 514, '그리다': 515, '기다': 516, '이후': 517, '어디서': 518, '기능': 519, '그래프': 520, '에디터': 521, '아': 522, '모든': 523, '적다': 524, '마지막': 525, '편하다': 526, '일대': 527, '한지': 528, '오늘': 529, '순서': 530, '씩': 531, '크다': 532, '문자': 533, '목적': 534, '취득': 535, '차다': 536, '배열': 537, '학년': 538, '원래': 539, '보내다': 540, '문서': 541, '발생': 542, '합': 543, '띄어쓰기': 544, '본적': 545, '가정': 546, '물어보다': 547, '에서의': 548, '부용': 549, '통합': 550, '잡히다': 551, '자리': 552, '전공자': 553, '에게': 554, '대부분': 555, '전문가': 556, '제주': 557, '중학생': 558, '루비': 559, '화': 560, '클릭': 561, '던': 562, '보통': 563, '영문': 564, '요새': 565, '이지만': 566, '개인': 567, '으로는': 568, '자동': 569, '영상': 570, '편집': 571, '소스코드': 572, '진로': 573, '툴': 574, '사용자': 575, '꼭': 576, '이네': 577, '기관': 578, '까지는': 579, '경험': 580, '용': 581, '풀이': 582, '라서': 583, '제발': 584, '난생처음': 585, '보시': 586, '총': 587, '터': 588, '다루다': 589, '통계': 590, '소스': 591, '그래도': 592, '가위': 593, '바위': 594, '메': 595, '수열': 596, '진짜': 597, '객체': 598, '에러': 599, '구성': 600, '정답': 601, '스크립트': 602, '모양': 603, '비다': 604, '이건': 605, '집': 606, '실무': 607, '안드로이드': 608, '혹은': 609, '버튼': 610, '새': 611, '제작': 612, '인기': 613, '다만': 614, '일산': 615, '아마': 616, '포함': 617, '아무리': 618, '또': 619, '앞': 620, '아버지': 621, '예제': 622, '볼': 623, '얘기': 624, '프로그래머': 625, '명령어': 626, '연관': 627, '속도': 628, '비쥬': 629, '왼쪽': 630, '반': 631, '또한': 632, '열리다': 633, '저런': 634, '군': 635, '교수': 636, '학기': 637, '크기': 638, '그대로': 639, '까지의': 640, '저희': 641, '삭제': 642, '설치다': 643, '소프트웨어': 644, '맥': 645, '반환': 646, '고등학생': 647, '굳이': 648, '거나': 649, '준비': 650, '강남': 651, '가상': 652, '이론': 653, '이라고': 654, '종합': 655, '부산': 656, '아예': 657, '제풀이': 658, '그게': 659, '친구': 660, '존재': 661, '수정': 662, '실제': 663, '문과': 664, '안녕': 665, '지다': 666, '판': 667, '역할': 668, '낮다': 669, '아들': 670, '특히': 671, '대학생': 672, '모드': 673, '용도': 674, '홍길동': 675, '끝': 676, '말다': 677, '밍': 678, '거기': 679, '주로': 680, '째': 681, '광주': 682, '파주': 683, '뿐': 684, '선언': 685, '슬라이싱': 686, '두근두근': 687, '푸다': 688, '끝내다': 689, '수식': 690, '치면': 691, '컨설턴트': 692, '인식': 693, '접': 694, '성적': 695, '회사': 696, '짝수': 697, '예전': 698, '까먹다': 699, '핀': 700, '높다': 701, '번은': 702, '사고': 703, '태그': 704, '반지름': 705, '특징': 706, '무료': 707, '응용': 708, '한국': 709, '구매': 710, '익히다': 711, '보': 712, '내부': 713, '정의': 714, '버리다': 715, '십진수': 716, '소드': 717, '확률': 718, '옆': 719, '네이버': 720, '랜덤': 721, '샘플': 722, '걸다': 723, '풀리다': 724, '수행평가': 725, '전체': 726, '집합': 727, '던지다': 728, '요소': 729, '정상': 730, '는걸': 731, '돈': 732, '한다는': 733, '불가능하다': 734, '갖다': 735, '바': 736, '엔터': 737, '용어': 738, '얻다': 739, '하라': 740, '거리': 741, '컴공': 742, '이야기': 743, '콘솔': 744, '띄우다': 745, '스택': 746, '대체': 747, '사다': 748, '바탕화면': 749, '제외': 750, '공백': 751, '가능': 752, '정렬': 753, '음수': 754, '업무': 755, '색': 756, '년도': 757, '물질': 758, '새내기': 759, '관계': 760, '쪼개다': 761, '변경': 762, '미터': 763, '양': 764, '문장': 765, '방학': 766, '소개': 767, '빠르다': 768, '그렇게': 769, '루트': 770, '뒤지다': 771, '제거': 772, 'ㅜ': 773, '선생님': 774, '속성': 775, '교양': 776, '즉': 777, '옮기다': 778, '풀': 779, '넘어가다': 780, '서비스': 781, '비주': 782, '커서': 783, '똑같이': 784, '별도': 785, '항목': 786, '전공': 787, '새롭다': 788, '확실하다': 789, '로제타': 790, '조금씩': 791, '건데': 792, '빈': 793, '추다': 794, '래': 795, '범위': 796, '수강': 797, '찍다': 798, '가르치다': 799, '이미': 800, '귀찮다': 801, '상담': 802, '굉장하다': 803, '추후': 804, '예정': 805, '대답': 806, '지식인': 807, '어쩌고저쩌고': 808, '카톡': 809, '털다': 810, '비번': 811, '축': 812, '단원': 813, '실수': 814, '언': 815, '행': 816, '언젠가': 817, '아무튼': 818, '결론': 819, '수도': 820, '한데': 821, '리눅스': 822, '대': 823, '라도': 824, '레벨': 825, '걸리다': 826, '목표': 827, '엔': 828, '방식': 829, '에선': 830, '접근': 831, '확장자': 832, '지우다': 833, '확장': 834, '재밌다': 835, '기호': 836, '재': 837, '프로젝트': 838, '도대체': 839, '그러나': 840, '똑같다': 841, '상': 842, '희망': 843, '전국': 844, '잇다': 845, '이상': 846, '달다': 847, '연결': 848, '엄청': 849, '구체': 850, '특화된': 851, '어쨌든': 852, '이기': 853, '학번': 854, '주변': 855, '장고': 856, '으': 857, '뒤': 858, '붙이다': 859, '따라서': 860, '공중': 861, '켜다': 862, '원하다': 863, '시스템': 864, '퀄리티': 865, '취미': 866, '자동화': 867, '다운로드': 868, '계산기': 869, '감': 870, '등차수열': 871, '마우스': 872, '대한민국': 873, '호': 874, '벤처기업': 875, '장점': 876, '과일': 877, '몇개': 878, '담다': 879, '힌트': 880, '물론': 881, '몇번': 882, '수치': 883, '뉴비': 884, '핵심': 885, '운영체제': 886, '천재': 887, '적분': 888, '이든': 889, '란': 890, '두번째': 891, '전문': 892, '더하다': 893, '나누다': 894, '손글씨': 895, '개별': 896, '특성': 897, '만을': 898, '강조': 899, '학점': 900, '상황': 901, '이직': 902, '해석': 903, '들이다': 904, '골': 905, '호수': 906, '구름': 907, '잘못': 908, '김명호': 909, '소': 910, '답좀': 911, '최대': 912, '영': 913, '임': 914, '개방': 915, '조': 916, '준': 917, '간결하다': 918, '어': 919, '돌아가다': 920, '휴대폰': 921, '찾기': 922, '이진수': 923, '에만': 924, '단계': 925, '혼합': 926, '예요': 927, '진법': 928, '으뜸': 929, '푸나': 930, '매개변수': 931, '냉': 932, '온수': 933, '아무렇다': 934, '성하다': 935, '느껴지다': 936, '죽다': 937, '최근': 938, '레이': 939, '밑': 940, '쉘': 941, '거북이': 942, '계획': 943, '작다': 944, '보아': 945, '써주다': 946, '소문자': 947, '대문자': 948, '변환': 949, '삼': 950, '탐구': 951, '호기심': 952, '생일': 953, '날짜': 954, '저기': 955, '별로': 956, '가격': 957, '자주': 958, '사이언스': 959, '여쭈다': 960, '주사위': 961, '뭐라다': 962, '놓다': 963, '완벽하다': 964, '경기도': 965, '복사': 966, '미리': 967, '키우다': 968, '보기': 969, '임의': 970, '수명': 971, '드': 972, '빈도': 973, '공유': 974, '포맷팅': 975, '무조건': 976, '차근차근': 977, '참조': 978, '대상': 979, '구해': 980, '파다': 981, '성능': 982, '드릴': 983, '이겠다': 984, '가르침': 985, '디렉토리': 986, '번만': 987, '하단': 988, '입출력': 989, '자정': 990, '경과': 991, '단위': 992, '치다': 993, '딕셔너리': 994, 'ㄱ': 995, 'ㄴ': 996, '표': 997, '따옴표': 998, '풀기': 999, '뽑다': 1000, '남': 1001, '누적': 1002, '파악': 1003, '그중': 1004, '리': 1005, '인티저': 1006, '보드': 1007, '표준': 1008, '용량': 1009, '법좀': 1010, '길이': 1011, '짧다': 1012, '표시': 1013, '지역': 1014, '시흥': 1015, '방향': 1016, '군대': 1017, '부르다': 1018, '기도': 1019, '메일': 1020, '호출': 1021, '속': 1022, '여서': 1023, '눈': 1024, '완전하다': 1025, '유전': 1026, '큐': 1027, '자료구조': 1028, '덱': 1029, '아무래도': 1030, '온도': 1031, '이틀': 1032, '동안': 1033, '회': 1034, '차이다': 1035, '그거': 1036, '줄이다': 1037, '기술': 1038, '연도': 1039, '응시': 1040, '인원': 1041, '최신': 1042, '트': 1043, '작': 1044, '메인': 1045, '번하다': 1046, '결제': 1047, '좌표': 1048, '기준': 1049, '대신': 1050, '아마도': 1051, '런': 1052, '반응': 1053, '효율': 1054, '니까': 1055, '소용돌이': 1056, '좌회전': 1057, '그나마': 1058, '얘': 1059, '안다': 1060, '중첩': 1061, '온라인강좌': 1062, 'ㅎㅎ': 1063, '간단': 1064, '한테': 1065, '낫다': 1066, '어로': 1067, '말씀드리다': 1068, '매': 1069, '년차': 1070, '사량': 1071, '소리': 1072, '간략하다': 1073, '마리': 1074, '가급적': 1075, '심화': 1076, '아이패드': 1077, '언제': 1078, '영어': 1079, '거치': 1080, '이며': 1081, '가기': 1082, '가지다': 1083, '고르다': 1084, '카카오': 1085, '그다음': 1086, '테스트': 1087, '패': 1088, '솔직하다': 1089, '도전': 1090, '어린이': 1091, '해킹': 1092, '세다': 1093, '필요없다': 1094, '구축': 1095, '중간': 1096, '온': 1097, '누군가': 1098, '누': 1099, '이기도': 1100, '순수': 1101, '제어': 1102, '진입': 1103, '엄청나다': 1104, '포도': 1105, '웹개발자': 1106, '탭': 1107, '뒷': 1108, '쭉쭉': 1109, '나가다': 1110, '디버그': 1111, '떼다': 1112, '쭉': 1113, '인가': 1114, '대요': 1115, '더욱': 1116, '용인': 1117, '과목': 1118, '중복': 1119, '글자': 1120, '메세지': 1121, '캐릭터': 1122, '어플': 1123, '집컴': 1124, '리지': 1125, '원소': 1126, '되게': 1127, '부적': 1128, '상관없다': 1129, '명확하다': 1130, '답지': 1131, '순서도': 1132, '껏': 1133, '기울기': 1134, '프로그래밍언어': 1135, '물건': 1136, '괄호': 1137, '제한': 1138, '듯': 1139, '화하다': 1140, '붙다': 1141, '프롬프트': 1142, '움표': 1143, '방정식': 1144, '크롬': 1145, '번역기': 1146, '마다': 1147, '만들어지다': 1148, '차': 1149, '산업혁명': 1150, '그런': 1151, '려고': 1152, '경영': 1153, '동': 1154, '모델': 1155, '주다': 1156, '문득': 1157, '쌍따옴표': 1158, '본': 1159, '멈추다': 1160, '고등학교': 1161, '오프라인': 1162, '프레임': 1163, '봇': 1164, '디렉터리': 1165, '올해': 1166, '아직': 1167, '활': 1168, '엔드': 1169, '메모장': 1170, '군요': 1171, '프로': 1172, '나서다': 1173, '매우': 1174, '커리큘럼': 1175, '살': 1176, '컴퓨터공학': 1177, '일이': 1178, '수평선': 1179, '중상': 1180, '오기': 1181, '조언': 1182, '만세': 1183, '타입': 1184, '웹사이트': 1185, '프린터': 1186, '정규표현식': 1187, '하니': 1188, '뛰다': 1189, '음악': 1190, '전자': 1191, '클라우드': 1192, '미래': 1193, '작업': 1194, '오른쪽': 1195, '발표': 1196, '곅체': 1197, '소문': 1198, '첨': 1199, '신': 1200, '장식': 1201, '운영': 1202, '두드러지다': 1203, '장용': 1204, '셀레니움': 1205, '틀다': 1206, '새다': 1207, '기이': 1208, '하고는': 1209, '서도': 1210, '스펠링': 1211, '이니까': 1212, '파란색': 1213, '일련': 1214, '위키피디아': 1215, '유용하다': 1216, '법인': 1217, '리수': 1218, '독자': 1219, '노력': 1220, '홀수': 1221, '구구단': 1222, '중고': 1223, '신입': 1224, '해드리다': 1225, '안해': 1226, '보조': 1227, '시어': 1228, '스키': 1229, '출처': 1230, '여기다': 1231, '원리': 1232, '컬럼': 1233, '인덱스': 1234, '상대': 1235, '그렇다고': 1236, '스크래핑': 1237, '추출': 1238, '내다': 1239, '부합': 1240, '메뉴': 1241, '그러니까': 1242, '특허청': 1243, '이라서': 1244, '들어주다': 1245, '레트로': 1246, '물어': 1247, '정리': 1248, '비정': 1249, '테이': 1250, '스': 1251, '자료': 1252, '월드컵': 1253, '조추첨': 1254, '나라': 1255, '명': 1256, '초상': 1257, '닉': 1258, '안내서': 1259, '글단': 1260, '맟': 1261, '추기': 1262, '왕초': 1263, '실행파일': 1264, '들어오다': 1265, '예외처리': 1266, '열기': 1267, '왜냐면': 1268, '규정': 1269, '차용': 1270, '분리': 1271, '가끔': 1272, '혼용': 1273, '석': 1274, '피보나치': 1275, '중수': 1276, '성공하다': 1277, '일종': 1278, '카운트': 1279, '그걸': 1280, '거북': 1281, '이빨': 1282, '진수': 1283, '구합': 1284, '니': 1285, 'ㅠㅠㅜ': 1286, '여러분': 1287, '간절하다': 1288, '면적': 1289, '독창': 1290, '컴치': 1291, '시간표': 1292, '월요일': 1293, '짤': 1294, '급수': 1295, '수가': 1296, '문구': 1297, '유리하다': 1298, '햇': 1299, '어떨': 1300, '변': 1301, '변졍할': 1302, '필요': 1303, '미치다': 1304, '돌다': 1305, '돌이': 1306, '미국': 1307, '물이': 1308, '올라오다': 1309, '학과': 1310, '이처럼': 1311, '넘다': 1312, '어레': 1313, '매직': 1314, '넣기': 1315, '형식': 1316, '만드나': 1317, '일도': 1318, '벌다': 1319, '막대그래프': 1320, 'ㅠㅠㅠㅠㅠㅠㅠㅠ': 1321, '적당하다': 1322, '자신': 1323, '불가능': 1324, '결정': 1325, '부모님': 1326, '십': 1327, '약자': 1328, '디폴트': 1329, '웹서핑': 1330, '여자친구': 1331, '케이크': 1332, '삼각형': 1333, '문항': 1334, '빨다': 1335, '물': 1336, '엘셀': 1337, '음식점': 1338, '평점': 1339, '부여': 1340, '도출': 1341, '평가': 1342, '첨부파일': 1343, '뒷쪽': 1344, '테마': 1345, '해주시': 1346, '모이다': 1347, '본기': 1348, '오버플로우': 1349, '플밍언': 1350, '재귀': 1351, '무수': 1352, '히': 1353, '자연어': 1354, '무작위': 1355, '갑자기': 1356, '내외': 1357, '번거롭다': 1358, '랭킹': 1359, '플레이어': 1360, '정수형': 1361, '보수': 1362, '응용프로그램': 1363, '점유': 1364, '달라': 1365, '리즘': 1366, '진도': 1367, '이천': 1368, '증포동': 1369, '작용': 1370, '그램': 1371, '인치': 1372, '줄어들다': 1373, '디버깅': 1374, '조종': 1375, '수입': 1376, '초지': 1377, '스펙': 1378, '분류': 1379, '카테고리': 1380, '오버': 1381, '로딩': 1382, '데코': 1383, '일주일': 1384, '채': 1385, '엑세스': 1386, '권한': 1387, '음료': 1388, '주문': 1389, '자판기': 1390, '똑똑하다': 1391, '오시': 1392, '기전': 1393, '추정': 1394, '으로만': 1395, '인거': 1396, '작품': 1397, '목록': 1398, '김유신': 1399, '강감찬': 1400, '패리': 1401, '티': 1402, '빌트': 1403, '줍다': 1404, '동작': 1405, '담당': 1406, '고유': 1407, '어서': 1408, '갈다': 1409, '팩토리얼': 1410, '지점': 1411, '게신': 1412, '아웃': 1413, '풋': 1414, '보이': 1415, '푸시': 1416, '팝': 1417, '역순': 1418, '요일': 1419, '판정': 1420, '엔트리': 1421, '스크레치': 1422, '암스테르담': 1423, '귀': 1424, '로섬': 1425, '하겟습니': 1426, '성향': 1427, '신텍스': 1428, '슈거': 1429, '범벅': 1430, '익숙해지다': 1431, '숙련': 1432, '도의': 1433, '보단': 1434, '어떡하다': 1435, '돋보기': 1436, '좌변': 1437, '라즈베리파이': 1438, '겠다': 1439, '디지털': 1440, '치고': 1441, '영한사전': 1442, '퀴즈': 1443, '묻다': 1444, '행동': 1445, '생성자': 1446, '엄밀하다': 1447, '쓰시': 1448, '도형': 1449, '사각형': 1450, '만듭니': 1451, '웹페이지': 1452, '랍니': 1453, '배수': 1454, '제출': 1455, '의무': 1456, '욥': 1457, '의도': 1458, '랑은': 1459, '반면': 1460, '광범위하다': 1461, '땅': 1462, '안타깝다': 1463, '스르': 1464, '토': 1465, '삽입': 1466, '인게': 1467, '전용': 1468, '위키': 1469, '독스': 1470, '빠지다': 1471, '다를떄': 1472, '지문': 1473, '기계공학': 1474, '밖에': 1475, '별다르다': 1476, '명령문': 1477, '군포': 1478, '사물': 1479, '그리기': 1480, '네이티': 1481, '브': 1482, '유저': 1483, '크롤': 1484, '링': 1485, '시중': 1486, '팔리다': 1487, '탐욕': 1488, '스럽다': 1489, '거의': 1490, '배경': 1491, '영업': 1492, '기분': 1493, '드네': 1494, '파트': 1495, '자이시': 1496, '토요일': 1497, '치르다': 1498, '에듀': 1499, '수년': 1500, '회차': 1501, '아빠': 1502, '어리다': 1503, '마인크래프트': 1504, '잠깐': 1505, 'ㅋㅋㅋㅋ': 1506, '특기': 1507, '전형': 1508, '파서': 1509, '딕셔': 1510, '너리': 1511, '함께': 1512, '원수': 1513, '깊숙하다': 1514, '어짜': 1515, '막히다': 1516, '이전': 1517, '흠': 1518, '각': 1519, '트리': 1520, '아이': 1521, '킹': 1522, '께': 1523, '워드프레스': 1524, '반복자': 1525, '중이': 1526, '대표': 1527, '최고': 1528, '셋': 1529, '정보보안': 1530, '넓다': 1531, '연필': 1532, '걱정': 1533, '당장': 1534, '목요일': 1535, '만에': 1536, '밑줄': 1537, '길': 1538, '우측': 1539, '해설': 1540, '에라도': 1541, '일인': 1542, '인프런': 1543, '중력': 1544, '가속도': 1545, '내년': 1546, '취향': 1547, '만나다': 1548, '즉시': 1549, '바로바로': 1550, '눈앞': 1551, '막막하다': 1552, '머리': 1553, '백지': 1554, '게다가': 1555, '라네': 1556, '까진': 1557, '창의력': 1558, '이경우': 1559, '리턴': 1560, '동일하다': 1561, '힘수': 1562, '진행': 1563, '카페': 1564, '으로써': 1565, '말고는': 1566, '액세스': 1567, '분도': 1568, '한게임': 1569, '박사': 1570, '유연하다': 1571, '가독성': 1572, '부기': 1573, '얼마나': 1574, '빈칸': 1575, '채우다': 1576, '째다': 1577, '소수': 1578, '플레이': 1579, '왜냐하면': 1580, '행렬': 1581, '기억': 1582, '음표': 1583, '의하다': 1584, '한편': 1585, '연속': 1586, '개다': 1587, '개인정보': 1588, '배': 1589, '도달': 1590, '잔고': 1591, '방복문': 1592, '야구': 1593, '변형': 1594, '이군': 1595, '숫자야구': 1596, '적합하다': 1597, '력': 1598, '특수문자': 1599, '끼리': 1600, '말로': 1601, '반드시': 1602, '닫다': 1603, '개임': 1604, '컨텐츠': 1605, '콘텐츠': 1606, '감다': 1607, '햐': 1608, '잼': 1609, '닫히다': 1610, '광고': 1611, '팀': 1612, '비주얼스튜디오': 1613, '부서': 1614, '서식': 1615, '산술': 1616, '윈도우즈': 1617, '상단': 1618, '편리하다': 1619, '셸입니': 1620, '널리': 1621, '컴파일러': 1622, '통': 1623, '번역': 1624, '개발툴': 1625, '들것': 1626, '아주': 1627, '양해': 1628, '혜택': 1629, '진행중': 1630, '이니': 1631, '옛날': 1632, '씨쁠': 1633, '고정': 1634, '하랬는데': 1635, '약하다': 1636, '구글링': 1637, '라니': 1638, '덧붙이다': 1639, '수백': 1640, '만행': 1641, '낼': 1642, '어떵해': 1643, '지혜': 1644, '대게': 1645, '스페이스': 1646, '곱다': 1647, '플러스': 1648, '마이너스': 1649, '감영': 1650, '세우다': 1651, '승': 1652, '업그레이드': 1653, '포기': 1654, '간편하다': 1655, '궁금': 1656, '앞쪽': 1657, '띄다': 1658, '스페이스바': 1659, '꾸준하다': 1660, '구장': 1661, '가야': 1662, '올인': 1663, '시초': 1664, '자음': 1665, 'ㅎ': 1666, '펜': 1667, '더하기': 1668, '도구': 1669, '뿐이다': 1670, '볼때': 1671, '보나': 1672, '전주': 1673, '대형': 1674, '엘리스': 1675, '난생': 1676, '대면': 1677, '턴다': 1678, '협박': 1679, '애초': 1680, '움': 1681, '라던가': 1682, '편': 1683, '함': 1684, '탄탄하다': 1685, '이하': 1686, '역시': 1687, '든': 1688, '만이라도': 1689, '난': 1690, '니깐': 1691, '릴리': 1692, '분수': 1693, '당시': 1694, '패스': 1695, '직관': 1696, '유투브': 1697, '충분하다': 1698, '내일': 1699, 'ㅜㅠㅠ': 1700, '이요': 1701, '아마존': 1702, '작성자': 1703, '접두어': 1704, '붙이': 1705, '제도': 1706, '쉬웝다': 1707, '만해': 1708, '질의': 1709, '응답': 1710, '쌍': 1711, '으로서': 1712, 'ㅋㅋ': 1713, '반도체': 1714, '우대': 1715, '역량': 1716, '대량': 1717, '사과': 1718, '딸기': 1719, '복숭아': 1720, '매크로': 1721, '임폹': 1722, '취성': 1723, '문적': 1724, '딩': 1725, '등호': 1726, '지도': 1727, '헷갈리다': 1728, '염': 1729, '고천동': 1730, '이동': 1731, '안양동': 1732, '요한': 1733, '제목': 1734, '설자리': 1735, '사항': 1736, '탬플릿': 1737, '웹서버': 1738, '웹뷰': 1739, '근처': 1740, '현장': 1741, '료': 1742, '만원': 1743, '마찬가지': 1744, '큐쌤': 1745, '차단': 1746, '막다': 1747, '관점': 1748, '특수하다': 1749, '앨리스': 1750, '아카데미': 1751, '외우다': 1752, '따로따로': 1753, '국어': 1754, '리플릿': 1755, '늘어나다': 1756, '친숙하다': 1757, '딸리다': 1758, '행맨': 1759, '전송': 1760, '필요성': 1761, '초등학생': 1762, '동춘동': 1763, '구동': 1764, '이치': 1765, '이래': 1766, '소일': 1767, '이러하다': 1768, '가나': 1769, '던데': 1770, '장단점': 1771, '각광': 1772, '돌리다': 1773, '화가': 1774, '세미콜론': 1775, '책좀': 1776, '마음': 1777, '자만': 1778, '포메팅': 1779, '서술': 1780, '부탁': 1781, '실현': 1782, 'ㅇ': 1783, '떤다': 1784, '울다': 1785, '일어나다': 1786, '만일': 1787, '실헹': 1788, '분동': 1789, '프로세서': 1790, '싹': 1791, '중지': 1792, '야': 1793, '버블': 1794, '전혀': 1795, '실력': 1796, '중등': 1797, '고등': 1798, '인코딩': 1799, '생략': 1800, '완성': 1801, '식다': 1802, '선호': 1803, '이실': 1804, '롤링': 1805, '쿠키': 1806, '접다': 1807, '일부': 1808, '달라지다': 1809, '다기': 1810, '학력': 1811, '습득': 1812, '융합': 1813, '큰따옴표': 1814, '묶다': 1815, '메모리': 1816, '초과': 1817, '방학기': 1818, '참다': 1819, '으음': 1820, '불구': 1821, '나나': 1822, '핸드폰': 1823, '태블릿': 1824, '회원': 1825, '가입': 1826, '엣지': 1827, '브라우저': 1828, '할당': 1829, '바라지': 1830, '이왕': 1831, '사이': 1832, '따라가다': 1833, '시각': 1834, '에게는': 1835, '상수': 1836, '부적합하다': 1837, '리터럴': 1838, '윈도': 1839, '무지하다': 1840, '그만큼': 1841, '진지하다': 1842, '빌리다': 1843, '역사': 1844, '각형': 1845, '누가': 1846, '뜯다': 1847, '음높이': 1848, '쉼표': 1849, '기회': 1850, '번호': 1851, '뽑기': 1852, '아이폰': 1853, '앞두다': 1854, '게임개발자': 1855, '세트': 1856, '즐겁다': 1857, '예외': 1858, '흐리다': 1859, '의무교육': 1860, '단축키': 1861, '환경변수': 1862, '요인': 1863, '에리': 1864, '카': 1865, '코어': 1866, '날씨': 1867, '표준편차': 1868, '라든지': 1869, '그러면': 1870, '텐서': 1871, '플로우': 1872, '아톰': 1873, '오렌지': 1874, '청포도': 1875, '자꾸': 1876, '오렌청': 1877, '팝업창': 1878, '스트립': 1879, '가시': 1880, '상호작용': 1881, '이대로': 1882, '스프링': 1883, '프레임워크': 1884, '중심': 1885, '재능': 1886, '아지트': 1887, '숙제': 1888, '씨언어': 1889, '구조': 1890, '스트리밍': 1891, '구문': 1892, '리얼': 1893, '업계': 1894, '전망': 1895, '숫점': 1896, '리까': 1897, '지만': 1898, '부턴': 1899, '음식': 1900, '칼로리': 1901, '훨씬': 1902, '프로모션': 1903, '뭐시기': 1904, '정돈': 1905, '쫌': 1906, '유명하다': 1907, '코드비젼': 1908, '고급언어': 1909, '단순하다': 1910, '노리다': 1911, '입시': 1912, '평소': 1913, '관리': 1914, '우연히': 1915, '범용': 1916, '성과': 1917, '전부': 1918, '예상': 1919, '당신': 1920, '짜이다': 1921, '디스': 1922, '디코': 1923, '고이': 1924, '수험': 1925, '끝나다': 1926, '가면': 1927, '복전': 1928, '교필': 1929, '호스팅': 1930, '외부': 1931, '올려주다': 1932, '힙': 1933, '든지': 1934, '두시': 1935, '신경망': 1936, '입력값': 1937, '나누기': 1938, '소수점': 1939, '시저': 1940, '빼다': 1941, '라인': 1942, '몰농도': 1943, '부피': 1944, '몰수': 1945, '텐데': 1946, '제곱': 1947, '사례금': 1948, '커맨드창이': 1949, '조회': 1950, '핸들링': 1951, '불가': 1952, '저번': 1953, '대립유전자': 1954, '빨갛다': 1955, '어떻': 1956, '생기지': 1957, '대학교': 1958, '선행': 1959, '과는': 1960, '고요': 1961, '무난': 1962, '해달라다': 1963, '근간': 1964, '흔들다': 1965, '쓰레기': 1966, '나이': 1967, '참으로': 1968, '전환': 1969, '빌드': 1970, '나은지': 1971, '계시': 1972, '국가': 1973, '도시': 1974, '아테네': 1975, '매트랩': 1976, '만지다': 1977, '슬래쉬': 1978, '바꿈': 1979, '개행': 1980, '장벽': 1981, '과를': 1982, '주석': 1983, '구분': 1984, '도서': 1985, '전자공학': 1986, '동아리': 1987, '기르다': 1988, '실험': 1989, '리신': 1990, '끌다': 1991, '작성중': 1992, '잘알다': 1993, '수포': 1994, '자라': 1995, '이루다': 1996, '콴다': 1997, '알기': 1998, '쌤': 1999, '퍼지다': 2000, '이왕이면': 2001, '일대일': 2002, '가로세로': 2003, '여백': 2004, '조정': 2005, '순': 2006, '차근하다': 2007, '상속': 2008, '이루어지다': 2009, '오타': 2010, '국내': 2011, '금융': 2012, '동시': 2013, '찰떡': 2014, '궁합': 2015, '이라고도': 2016, '비프': 2017, '음': 2018, '지는': 2019, '악기': 2020, '연주': 2021, '피아노': 2022, '치기': 2023, '다스': 2024, '말고도': 2025, '개학': 2026, '외계어': 2027, '가시다': 2028, '오떻': 2029, '등차': 2030, '순열': 2031, '자녀': 2032, '라이브': 2033, '이던': 2034, '유아': 2035, '열람': 2036, '주민': 2037, '상강': 2038, '좌': 2039, '강좌독': 2040, '최종': 2041, '슬': 2042, '라이스': 2043, '부터의': 2044, '손쉽다': 2045, '엔지니어': 2046, '능력': 2047, '요구': 2048, '어쩌다': 2049, '맥북에어': 2050, '에어': 2051, '가치': 2052, '특': 2053, '현': 2054, '지망': 2055, '랩터': 2056, '거스름': 2057, '포스팅': 2058, '거들다': 2059, '도통': 2060, '페이지': 2061, '에가': 2062, '고치다': 2063, '배치': 2064, '현직': 2065, 'ㅇㅏ': 2066, '대충': 2067, '대락': 2068, '천인': 2069, '국': 2070, '자의': 2071, '딱하다': 2072, '이어서': 2073, '변화': 2074, '학업': 2075, '병행': 2076, '이상만': 2077, 'ㅠㅠㅠㅠ': 2078, '힘들다': 2079, '지인': 2080, '막상': 2081, '복잡하다': 2082, '까만색': 2083, '대다': 2084, '우': 2085, '입학': 2086, '학종': 2087, '만하': 2088, '이든지': 2089, '대기업': 2090, '워낙': 2091, '쓴다': 2092, '답장': 2093, '어보': 2094, '파일명': 2095, '대고': 2096, '딸': 2097, '딸때': 2098, '오픈': 2099, '톡': 2100, '각자': 2101, '수행': 2102, '다이렉트': 2103, '희소성': 2104, '습관': 2105, '컬러': 2106, '스트링': 2107, '포': 2108, '팅': 2109, '순위': 2110, '걸치다': 2111, '표기': 2112, '계심': 2113, '규모': 2114, '코리아': 2115, '프로세스': 2116, '부실하다': 2117, '드라이버': 2118, '지네': 2119, '갈아타다': 2120, '툴일까': 2121, '대하': 2122, '도착': 2123, '주제': 2124, '선정': 2125, '강남역': 2126, '출구': 2127, '주말': 2128, '캬': 2129, '지향': 2130, '수집': 2131, '자고': 2132, '불쌍하다': 2133, '구원': 2134, '사': 2135, '용법': 2136}
# 비중확인..
threshold = 3
total_cnt = len(tokenizer.word_index) # 단어의 수
rare_cnt = 0 # 등장 빈도수가 threshold보다 작은 단어의 개수를 카운트
total_freq = 0 # 훈련 데이터의 전체 단어 빈도수 총 합
rare_freq = 0 # 등장 빈도수가 threshold보다 작은 단어의 등장 빈도수의 총 합
# 단어와 빈도수의 쌍(pair)을 key와 value로 받는다.
for key, value in tokenizer.word_counts.items():
total_freq = total_freq + value
# 단어의 등장 빈도수가 threshold보다 작으면
if(value < threshold):
rare_cnt = rare_cnt + 1
rare_freq = rare_freq + value
print('단어 집합(vocabulary)의 크기 :',total_cnt)
print('등장 빈도가 %s번 이하인 희귀 단어의 수: %s'%(threshold - 1, rare_cnt))
print("단어 집합에서 희귀 단어의 비율:", (rare_cnt / total_cnt)*100)
print("전체 등장 빈도에서 희귀 단어 등장 빈도 비율:", (rare_freq / total_freq)*100)
단어 집합(vocabulary)의 크기 : 2136 등장 빈도가 2번 이하인 희귀 단어의 수: 1264 단어 집합에서 희귀 단어의 비율: 59.176029962546814 전체 등장 빈도에서 희귀 단어 등장 빈도 비율: 9.636143117040632
# 집합 제한 처리
# 전체 단어 개수 중 빈도수 2이하인 단어는 제거.
# 0번 패딩 토큰을 고려하여 + 1
vocab_size = total_cnt - rare_cnt + 1
print('단어 집합의 크기 :',vocab_size)
단어 집합의 크기 : 873
tokenizer = Tokenizer(vocab_size)
tokenizer.fit_on_texts(X_train)
X_train = tokenizer.texts_to_sequences(X_train)
X_test = tokenizer.texts_to_sequences(X_test)
print(X_train[:3])
[[260, 1, 171, 48, 27, 1, 261, 140, 261, 140, 140, 261, 1, 1], [1, 9, 3, 1, 13, 15, 109], [129, 148, 43, 1, 120, 21, 57, 86, 22, 564, 95]]
- 정수인코딩까지 진행완료
빈 샘플 제거
drop_train = [index for index, sentence in enumerate(X_train) if len(sentence) < 1]
# 빈 샘플들을 제거
X_train = np.delete(X_train, drop_train, axis=0)
print(len(X_train))
797
c:\Users\User\.conda\envs\myai\lib\site-packages\numpy\lib\function_base.py:5071: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray. arr = asarray(arr)
패딩
print('해당 지식in의 최대 길이 :',max(len(review) for review in X_train))
print('해당 지식in의 평균 길이 :',sum(map(len, X_train))/len(X_train))
plt.hist([len(review) for review in X_train], bins=50)
plt.xlabel('length of samples')
plt.ylabel('number of samples')
plt.show()
해당 지식in의 최대 길이 : 31 해당 지식in의 평균 길이 : 18.696361355081557
정리
-
label데이터 문제로 여기까지 진행.
-
텍스트만 모아도 이 이상 분석에 답지표본의 중요함을 깨달음
그 외 참조한 사이트
- 위키독스 타겟되는 웹크롤링 방법
https://wikidocs.net/86334
- html 상태코드 확인
https://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%93%9C
- ……
마무리
-
네이버 지식in으로 웹크롤링 가능함을 보여준 과제.
-
DOM분석만 잘하면 특정 텍스트를 수집이 쉽다는걸 보여줌.
-
네이버 DOM을 이렇게 간단하게 되어있는게 문제가 없지 않을까 고찰.
-
겸으로 감성 분석을 진행하다가 중단 label 데이터 문제.
-
추후 10000 페이지까지 분석해서 파이썬 문제정리요약분석이 괜찮지 않을까 생각중.
댓글남기기