글쟁이, 코딩한다

1221/ K_digital 11일차 / 파이썬(크롤링) 본문

나는 코딩도 한다/TIL

1221/ K_digital 11일차 / 파이썬(크롤링)

Algori 2020. 12. 21. 23:08

0. 

  다시 주말 지나 돌아온 수업. 크롤링 심화 과정이었다.

 

  기본 개념을 바탕으로 약간의 응용을 통해 긴 코드를 만들었다. (정확히는, 만들었다기보다 만드는 과정을 봤다.)

  각자 있을 때는 명확하고, 때로 쉬워 보였던 것들이 조금만 여럿 더해지자 혼란스러웠다. 여전히 한 단위를 쪼개보기보다 전체를 이해함으로 부분에 접근하고자 하는 방식에 익숙하기 때문일 테다. 문제에 접근하는 방식을 또 새롭게 가져봐야겠다.

 

  오늘은 대부분 짜투리 배움들이 많아서, 큰 묶음 없이 작성해둔다. 

  앞으로는 갈수록 개념을 줄글로 표현하기 쉽지 않을 때가 많을 듯하다. 혹은 배운 내용이 명확하지 않을 때는 추가 공부를 위한 키워드(검색어) 정리도 할 예정이다.

  

  +추가로 웹 페이지 이해를 위한 HTML, CSS 인터넷 강의를 듣는다. 생활코딩, 제로초 유튜브 강의를 기본으로 추가 텍스트 및 검색을 통해 진행할 예정이다. 기초 개념이 잡히면 뒤에 따로 포스팅 해보겠다. 

  

 

 


1) input

input('입력바람 : ')

 

  #input으로 들어오는 정보는 모두 str. 빈 공백, 숫자도 str. #연산 등에 활용하기 위해서는 int, float 등을 잘 씌워야 한다. #형식에 맞춰 예시를 제시하는 편이 좋다. #참고로 str도 대소비교가 가능하다. 정렬 순서 오름차순에 따라.

2) konlpy

 

한국어 형태소 분석 관련 라이브러리 from konlpy.tag import Twitter
  # Twitter 클래스
  .pos( ) = 토크나이즈 + POS 태깅

    # norm(정규화) 문법에서 어긋난 것을 정규 문법으로 되돌려주기 # stem(어근화) 정돈하기

3) WordCloud

 

  단어 구름 차트. 메타 데이터에서 얻어진 태그들을 분석하여 중요도나 인기도 등을 고려하여 시각적으로 늘어 놓아 웹 사이트에 표시하는 것. 태그 클라우드라고도 한다.

 

from wordcloud import WordCloud

 

  #WordCloud 클래스를 찍어내 객체를 만들 때, width, height(저장 파일의 해상도) 등 기능을 설정하는 편이 좋다.

    wordcloud = WordCloud(font_path= , width=1280 , height=740 , background_color=blues , max_words=50, max(min)_font_size=100 , mask= , prefer_horizontal= ...)

#font_path 폰트 설정 #mask 마스킹 적용 #prefer_horizontal 수평 선호

#max_words 글자 수 #max(min)_font_size 글자 크기 #background_color 배경색

 

오늘의 TML

 

1) 여러 페이지 크롤링 등 대규모 데이터를 가져올 때는 time.sleep을 활용해 쉬어가자.

 =>해당 서버 대응으로 IP가 막히거나 자체 네트워크 이슈로 지나치게 오랜 시간이 걸린다. 

2) 사칙연산 중 줄바꿈할때는 한 줄 끝에 /를 준다. 뒤에는 여백도 없어야 한다.

url = "https://sth" + query \
              + "&sort=" + a \
              + "&nso=" + b \
              + "to" + c \
              + "start=" + ''

 

3) 구글, 네이버 등에서 " "를 붙여 검색하면, 정확하게 일치한 검색 결과만 나온다. 뿐만 아니다. 많다!

   플랫폼 검색팁을 알아두면 크롤링 시에 큰 도움이 된다. 


4) 데이터프레임 열을 str로 바꾸는 방법
1) str을 만들고 for문 이용해 꺼내서 +=하며 돌리기
2) .tolist( )로 쪼개고 ' '.join( )으로 붙이기

5) datetime

from datetime import datetime 현재 시간 구현 함수 
datetime.strftime( ) 로 현재 시간을 str로 구현 #( )안 내용은 규칙이 정해져있다. 찾아보자. 

 

오늘의 (다음) 공부할 것.

 

Selenium

웹사이트 제작자들이 테스트를 위해 만든 도구 => 웹사이트 자동 조종 등으로 크롤링에 용이. 

가상 브라우저를 열고 테스트로 확인할 수 있다. 

 

피클(Pickle)

작은 자료형. 객체 자체로 저장하는 형태. 대규모 데이터 작업시 편리하다. dump로 저장, load로 불러오기.

 

Comments