본문 바로가기
코드리뷰

프리미어리그 황희찬, 손흥민 골 넣었어? 최신 네이버 스포츠 뉴스 크롤링

by 디마드 2023. 12. 25.

네이버 스포츠 뉴스 기사를 크롤링해보자.

프리미어리그 황희찬, 손흥민 등 쟁쟁한 스포츠 스타들이 등장하는 뉴스가 넘쳐난다. 뉴스 헤드라인과 간단한 설명 그리고 사진을 추출해 보자. 참고로 프리미어리그 황희찬은 어제 경기에 골과 어시스트를 올리지 못했고 손흥민은 1골을 넣었다. 

네이버 스포츠 크롤링을 위해 파이썬에서 requests, beautifulsoup을 사용한다. 크롤링에서 사용하는 가장 기본적인 기능이라고 볼 수 있다. 네이버 쇼핑 사이트는 이 기술로는 한계가 있다. 동적으로 상품이 나열된다. 이때는 selenium이 필요하다. 

 

블로그 포스팅 자동화로 방문자 10배 늘린 실전노하우 - 크몽

디마드 전문가의 전자책 서비스를 만나보세요. * 업데이트- 초보자를 위한 친절한 강의 영상을 제작했습니다. -지금까지 96권이 판매되었...

kmong.com

1. 네이버 스포츠 뉴스 사이트 분석

네이버 스포츠 메인 화면에 뜨는 기사 제목, 요약, 링크, 이미지 정보를 추출하자. 기사별 그룹이 되어 있어서 정보를 가져오기 어렵지 않아 보인다. 크롤링 분석을 위해 개발자 도구에 접속한다. 

 

F12를 누르고 웹 페이지를 분석한다. class를 파악하면 전체적인 윤곽이 나온다. today_item 클래스가 기사별 태그에 포함되어 있음을 확인할 수 있다. 이 클래스 중심으로 코딩을 작성해 보자.

2. 파이썬 코딩

 

import requests
from bs4 import BeautifulSoup
import csv

# 네이버 쇼핑 상품 검색 
# keyword = input("검색어 입력 : ")
url = f"https://sports.news.naver.com/index"
response = requests.get(url)           
html = response.text
soup = BeautifulSoup(html, "html.parser")

items = soup.select(".today_item")
for e, item in enumerate(items,1):
    title = item.select_one(".title").text
    content = item.select_one(".news").text.strip()
    link = "https://sports.news.naver.com/".join(item.select_one(".link_today").get('href'))
    img = item.select_one(".image_area")
    img = img.select_one("img")['src']
    print(f"{e}.{title};{content};{link};{img}")
    print()

today_item 클래스 아래에서 제목, 요약, 링크, 이미지 정보를 추출한다. 제목과 요약은 하위 클래스를 beautifulsoup에 태워 text를 추출하고, 이미지와 링크는 속성 태그를 이용해 정보를 가져온다. 

print() 문을 이용해 출력하면 다음과 같이 나온다. 

 

 

블로그 포스팅 자동화로 방문자 10배 늘린 실전노하우 - 크몽

디마드 전문가의 전자책 서비스를 만나보세요. * 업데이트- 초보자를 위한 친절한 강의 영상을 제작했습니다. -지금까지 96권이 판매되었...

kmong.com

3. 응용하기

뉴스레터, 주요기사 알림, 데이터 분석 등 활용방안은 다양한다. 기사를 적절히 조합해서 블로그 포스팅에 자동으로 연개하는 방안도 괜찮을 것 같다. 자동 포스팅이 궁금하면 아래 게시물을 참고하자.

2023.05.30 - [전자책 만들기] - 1일 1포스팅 누가 좀 대신해주면 안 될까?

 

1일 1포스팅 누가 좀 대신해주면 안 될까?

안녕하세요. 전자책 "블로그 포스팅 자동화로 방문자 10배 늘린 실전노하우” 저자 디마드입니다. 코딩이나 개발이 익숙하지 않은 여러 초보분들께서 강좌 개설을 하면 좋겠다는 의견을 주셔서

iamgus.tistory.com

 


블로그 1일 1포스팅 지겨우셨죠? 자동 포스팅 방법 알려 드릴게요. 누구나 쉽게 만들 수 있어요.

▶ 전자책

크몽 : https://kmong.com/self-marketing/424811/T2S6YUqqKb

네이버 스마트스토어 : https://smartstore.naver.com/keywordgo/products/7880550903

매일 2시간씩 한달이면 60시간, 최저시급 대략 1만 원으로 계산하면 매달 60만 원 어치의 시간이 들어갑니다. 자동 포스팅 시스템을 한 번만 구축하면 이 모든 시간이 세이브됩니다.

 

반응형

댓글