IT STUDY LOG

[Python] 파이썬으로 보도자료 크롤링 본문

IT study/dev

[Python] 파이썬으로 보도자료 크롤링

roheerumi 2023. 6. 8. 12:52

# source code

import requests
from bs4 import BeautifulSoup
import time

file = open('보도자료.txt','w')
file.close()

# 페이징
for page in range(1, 14):
    response = requests.get(f"https://www.*****.or.kr/*****/bbs/i-414/list.do?pageIndex={page}&searchCondition=&pageItm=10")
    html = response.text
    soup = BeautifulSoup(html, "html.parser")

	# 페이지에 있는 모든 기사
    articles = soup.select("div.board_cont")
    for article in articles:
        links = article.select("a")

		# 각 기사 링크를 통해 날짜, 제목, 본문 가져오기
        for link in links:
            #print(f"link : {link}")
            url = "https://www.****.or.kr/*****/bbs/i-414/detail.do?ntt_sn=" + link["data-ntt-sn"]
            
            response = requests.get(url, headers={'User-agent': 'Mozila/5.0'})      
            html = response.text                                                    
            soup = BeautifulSoup(html, "html.parser")
            
            subject = soup.select_one("div.subject").text.replace('\t', '').replace('\n', '')
            content = soup.select_one("div.view_cont").text                            
            date = soup.select_one("ul.board_info_list li").text
            
            # 텍스트 파일로 쓰기
            with open('보도자료.txt','a') as f:
                f.write(f"{date}\n")
                f.write(f"제목 : {subject}\n")
                f.write(f"본문 : {content}\n")
            time.sleep(0.5)
            
file.close()

 

# result

 

Comments