기타 4

어디다 기록할 지 몰라 여기로 온 Pandas 사용법

프로젝트 도중 데이터 분석이 필요할 때면, Pandas 쓸 일이 많다. 여기 저기서 자주 사용했는데, 정리하기에는 너무 사소해서 정리하지 않다 보니 자꾸 또 다시 찾아보게 된다. 사소하지만 내 기준에서 유용하고, 까먹고 싶지 않은 Pandas 사용법을 몰아 넣어 정리해 본다. 중복 답변 개수 체크 프로젝트 기획 단계에서 설문 중복 응답을 분류할 때 사용했던 코드이다. df['앱이름_수정'] = df['앱이름'].str.replace(r"\([^()]*\)", "") # 괄호 안 설명 제거 new_df = df['앱이름_수정'].str.split(',', expand=True) # 중복 답안 각각의 컬럼으로 expand new_df.stack().reset_index().value_counts([0]) #..

기타 2021.05.02

[뉴스 크롤링] 네이버 뉴스 마지막 페이지까지 똑똑하게 검색하기 (feat.JK)

역시 사람은 똑똑하고 봐야... 지난 과정에서 파이널 프로젝트를 진행할 때, 네이버 뉴스 크롤링을 진행했다. 그 때 네이버 뉴스 검색 결과 페이지가 400페이지밖에 표시되지 않아서, 1) 월별로 마지막 페이지가 몇 페이지까지 있는지 검색한 뒤, 2) 마지막 페이지를 설정해 주었다. 프로젝트를 마무리한 뒤에도 이 부분을 (굳이) 일일이 검색하고 설정해 주어야 하나, 혹시 다른 해결책은 없나 궁금해 했었으나, 마땅한 방법을 찾지는 못했다. 그런데 이번에 NLP 과정에서 JK(네이버 뉴스 크롤링 담당)와 미니 프로젝트를 진행하며, JK가 재귀함수를 이용해 내가 궁금해 하던 부분을 간단하게 해결한 것을 보았다. 핵심은 재귀였다. 마지막 페이지까지 검색하는 법을 배웠다. 개인적으로 코딩 처음 배울 때부터 재귀가 ..

기타 2020.06.27

[트위터 크롤링] GetOldTweets3

강의 중간 프로젝트로 트위터 데이터를 크롤링했다. 트위터 크롤링은 API(공식 Standard API를 활용하더라도 수집할 수 있는 기간에 제한이 있다), Request 에러 핸들링 등으로 인해 골치가 아프다. 위의 문제에 부딪히지 않기 위해 Selenium 및 네트워크 요청 분석을 통해 코드를 짜서 스크레이핑을 진행하려 했으나, 미니 프로젝트였기 때문에, 시간이 많지 않아 성공하지는 못했다. 하루 이틀 고생했는데, 결론적으로 내가 구현하고 싶은 방법을 잘 구현해 놓은 라이브러리를 발견했다. API 없이도 이전 트윗을 수집할 수 있었다. 데이터 분석이 목적이 아니라 단순히 여러 사이트에서 데이터를 수집하는 방법을 연습하는 프로젝트였기 때문에, 어떻게 라이브러리를 활용했는지를 위주로 크롤링 방법만 기록한다..

기타 2020.06.11

[크롤링] TIL

# 궁금증 + 공부해야 할 사항 마지막 페이지 반환 시 리스트 구조 사용하면 비효율적이지 않을까? Selenium 활용 크롤링 시, Connection Error 왜 발생하나? 어떻게 해결할 수 있을까? 루리웹 커뮤니티 크롤링 시, 이전 버튼과 다음 버튼의 class, id가 모두 같아 고생했다. 수작업 말고 해결할 수 있는 방법 없나? (팀원 보배드림 사이트 크롤링 코드 참고) 정보 저장 시 JSON 활용하면 어떨까? 함수를 모듈화하려면? 지금은 한 페이지에 있어 너무 길고 지저분하다. class 사용하여 네이버 뉴스 크롤러, 커뮤니티 크롤러 모두 한 번에 활용하려면? # 느낀 점 달라들지 말자. 먼저 무슨 데이터를 얻어야 할지 생각하고, 작업을 단계별로 나누어 구조화하자. 작업 과정 틈틈이 제대로 진..

기타 2020.05.19