티스토리 뷰

저번 포스팅에서는 스크래핑을 할 때엔 필요한 모듈들과 가상환경을 구축하는 방법에 대해서 다뤘습니다. 지난 포스팅에 다룬 것이 기억나지 않는다면 아래 링크를 통해서 복습해주세요.


rss를 통하여 오늘자 뉴스 링크 가져오기

오늘자 뉴스를 스크래핑하는 것이 우리의 목표였습니다. 오늘자 뉴스를 어떻게 받을 수 있을까요? 여러 방법이 있겠지만 저는 rss를 활용해보겠습니다.

rss(Rich Site Summary)는 뉴스나 블로그에서 주로 사용하는 컨텐츠 표현 방식으로, 웹 사이트의 내용을 보여줍니다.


중앙일보의 rss를 이용하면 오늘자 뉴스들을 접할 수 있습니다.



rss를 보면 문제점을 하나 발견할 수 있습니다.


중앙일보 rss 화면기사의 일부분만 나타나 있습니다.


오늘자 뉴스 전체를 가져오고 싶은데 rss에서는 기사 내용의 일부분만 나타나 있습니다. 어떻게 전체 내용을 가져올 수 있을까요? rss에서 기사내용을 가져오는게 아니라 rss를 통해 오늘 기사의 링크들을 가져온 다음 그 링크들에 접속해서 기사를 가져오면 됩니다. 그러면 전체 내용을 가져올 수 있습니다.

크롬 개발자 도구를 통해 가져올 부분 태그 확인하기

이제는 우리가 가져올 부분이 어떤 태그인지를 알면 됩니다. 이땐 크롬 개발자 도구를 활용하면 됩니다. 일단 코드가 나타나 있는 xml페이지(rss 페이지)에서는 item 밑에 link태그에 주소가 있다는 것을 확인해주시고, 거기 나와 있는 링크로 이동한 기사에서는 div#article_body(id가 article_body인 div태그)에 기사가 쓰여져 있다는 것을 알 수 있습니다.

크롬 개발자 도구크롬 개발자 도구를 활용하면 쉽게 태그를 파악할 수 있습니다.


크롬 개발자 도구로 태그를 확인하는 방법은 f12를 누르면 일단 개발자 도구가 실행되고 생성된 창의 왼쪽 상단에 네모와 마우스 모양이 같이 있는 버튼을 클릭한 후 우리가 확인하고 싶은 곳에 갖다대면 해당 부분의 태그를 개발자도구에 표시해줍니다. 또는 페이지에서 마우스 오른쪽 클릭 후 페이지 소스 보기(v)를 클릭하면 전체 소스코드를 볼 수 있습니다.

코드 작성하기

무엇을 이용해야 할 지(requests, beautifulsoup,rss)알았고, 어떤 부분을 스크랩핑 해야할 지도 알았으니 이제 코드를 작성해보도록 하겠습니다. 일단은 필요한 모듈을 모두 가져오도록 하겠습니다.

import requests
from bs4 import BeautifulSoup



내용이 너무 길어지니 다음 포스팅에서 마무리하도록 하겠습니다.



공감은 제작자에게 큰 힘이 됩니다.


댓글