댓글 14

[1] 네이버 뉴스 댓글 크롤러_ver1_3. Selenium 이용

동적으로 변화하는 컨텐츠인 댓글을 크롤링하기 위해서는 Selenium을 이용해야 한다. 작업을 통해 얻고자 하는 결과물은 Selenium을 이용해 추출한 모든 네이버 뉴스 링크들의 뉴스 플랫폼, 제목, 작성 시간, 언론사, 댓글 작성자, 작성 시간, 댓글 내용, 댓글 공감/비공감 수이다. # 사용한 라이브러리 Requests Selenium BeautifulSoup, re, time, urllib.parse # Selenium을 이용해 html 페이지 불러오기 웹 드라이버의 .page_source를 활용해 브라우저에 보이는 상태 그대로의 HTML을 가져온다. requests를 사용할 때와 달리, 웹 브라우저 엔진이 DOM이 바뀌는 상태를 기다릴 수 있도록 기다려야 한다. Selenium의 묵시적 대기로 ..

[1] 네이버 뉴스 댓글 크롤러_ver1_2. 각 기사 링크 페이지에 접속해 정보 가져오기

받아 온 뉴스 링크에서 댓글 링크를 통해 댓글 페이지에 접속하고자 한다. 접속 후, 댓글 관련 정보를 제외한 기사 제목, 기사 작성 시간, 언론사 정보까지 가져온다. 이로써 접속하여 데이터를 정상적으로 받아올 수 있는지 확인한다. 작업을 통해 얻고자 하는 결과물은 이전 단계에서 추출한 모든 네이버 뉴스 링크들의 제목, 작성 시간, 언론사이다. # 댓글 페이지 접속하기 사전 작업에서 확인했듯, 댓글 페이지의 URL에는 'm_view=1'이 붙는다. 따라서 이전 단계에서 찾은 모든 네이버 기사 URL의 뒤에 '&m_view'를 붙여 준다. 출력 상태 코드를 확인하여 제대로 실행되는지 확인한다. naver_news_links = get_news_links(last_page, LINK_PAT) for link ..

[1] 네이버 뉴스 댓글 크롤러_ver1_1. 네이버 뉴스 링크 반환

네이버 뉴스 홈에서 '주 52시간'을 검색한 뒤, 검색 결과 창에서 보이는 마지막 페이지(이 경우에는 10)까지 돌며 네이버 뉴스 링크를 받아오려고 한다. 작업을 통해 얻고자 하는 결과물은 네이버 포털에서 '주52시간'으로 검색되는 기사들 중, 네이버 뉴스 플랫폼에 등록되어 있는 기사들의 링크이다. # 사용한 라이브러리 Requests BeautifulSoup : urllib.parse re # 기본 변수 설정 사전 작업에서 확인했듯, 검색을 진행할 기본 URL은 다음과 같다. https://search.naver.com/search.naver?&where=news&[검색어]&sm=tab_pge&sort=0&photo=0&field=0 &reporter_article=&pd=0&ds=&de=&docid=..

[1] 네이버 뉴스 댓글 크롤러_ver1_0.사전 작업

0328 회의 이후, 네이버 뉴스 댓글 크롤러를 만들었다. 기본적인 로직을 이용해 html에서 데이터를 추출하고, 필요한 작업들을 단계별로 세분화해 함수화했다. 그 결과, 초보적인 수준이지만 이용해 네이버 뉴스에서 '주52시간'을 검색하면 나오는 뉴스들을 10페이지까지 긁어 와 csv 파일로 저장할 수 있었다. NomadCoders 강의 내용과 「파이썬으로 웹 크롤러 만들기」 책 내용을 참고했다. 본격적인 작업에 들어가기 앞서, 몇 단계의 사전 작업이 필요하다. 우선, 어떤 데이터를, 어디에서 얻어야 하는지 명확히 해야 한다. 이후, 필요한 정보를 얻기 위해 내가 만들 크롤러가 어떤 링크들을 타고 돌아다녀야 하는지, 그 링크들의 URL 구조가 어떻게 되는지 파악해야 한다. # 어떤 데이터를 얻어야 하는가..