[크롤링(Crawling)] 실시간 가장 많이 본 뉴스, 인터넷 기사 추출하기

0

지금까지 정리한 내용을 바탕으로 네이버 뉴스에 가장 많이 본 뉴스의 제목 및 기사 내용을 추출 해보겠습니다.

[크롤링(Crawling)] 실시간 가장 많이 본 뉴스, 인터넷 기사 추출하기
  1. HTML 코드 가져오기
import requests
import pandas as pd
from bs4 import BeautifulSoup

get_page = requests.get("https://news.naver.com/")

2. HTML 코드를 BeautifulSoup를 통하여 python에서 사용하기 편하게 만들기

news = get_page.text

soup = BeautifulSoup(news, 'html.parser')

3. 가장 많이본 뉴스 HTML 코드 찾기 (크롬 F12활용)

tag_news = soup.select('.main_aside li')
main_news = []

for tag in tag_news:
    main_news.append(tag.text)

3-1 결과값

[크롤링(Crawling)] 실시간 가장 많이 본 뉴스, 인터넷 기사 추출하기

4. 다음 뉴스 중 필요한 내용만 출력 하기(if + in 사용)

#원하는 내용을 if문에 넣기
choice_about = "속보"
choice_news = []
for tag in tag_news:
    if choice_about in tag.text:
        choice_news.append(tag.text)

4-1 결과값 (“속보” 관련 내용만 출력)

[크롤링(Crawling)] 실시간 가장 많이 본 뉴스, 인터넷 기사 추출하기

5. 데이터를 엑셀에 저장

df = pd.DataFrame(data = main_news, columns = ['메인기사'])
df.to_excel("main_news.xlsx")

5-1 결과

[크롤링(Crawling)] 실시간 가장 많이 본 뉴스, 인터넷 기사 추출하기

요약코드

import requests
import pandas as pd
from bs4 import BeautifulSoup

#네이버 뉴스 HTML 코드 불러오기
get_page = requests.get("https://news.naver.com/")

news = get_page.text

#BeautifulSoup로 변환
soup = BeautifulSoup(news, 'html.parser')

#HTML 코드에서 원하는 기사 내용 찾기
tag_news = soup.select('.main_aside li')

main_news = []

for tag in tag_news:
    main_news.append(tag.text)

#원하는 내용을 if문에 넣기
choice_about = "속보"
choice_news = []

for tag in tag_news:
    if choice_about in tag.text:
        choice_news.append(tag.text)

#데이터프레임 엑셀파일로 저장
df = pd.DataFrame(data = main_news, columns = ['메인기사'])
df.to_excel("main_news.xlsx")

회신을 남겨주세요

귀하의 의견을 입력하십시오!
여기에 이름을 입력하십시오.