-
다음 뉴스 기사 제목 본문 크롤링 후 텍스트 저장코딩 연습/파이썬 크롤링 2022. 6. 1. 12:53반응형
[파이썬 크롤링] 네이버 지식인에 올라온 질문 '다음 랭킹 뉴스 기사 제목 본문 크롤링 후 텍스트 파일에 저장하는 법'에 대해 파이썬으로 작성해보았다.
다음 랭킹 뉴스 기사 제목, 본문 크롤링 후 텍스트 파일로 저장
[파이썬 소스 코드]
import requests from bs4 import BeautifulSoup import os def daum_news(): headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'} url = f'https://news.daum.net/' response = requests.get(url, headers=headers) if response.status_code == 200: # print(response.text) soup = BeautifulSoup(response.text, 'html.parser') lis = soup.find('ul', class_='list_newsissue').find_all('li') print(len(lis)) # 20 for li in lis: a_tag = li.select_one('div > div > strong > a')['href'] title = li.select_one('div > div > strong > a').text.strip().replace(' ', '') print(a_tag, title) res = requests.get(a_tag, headers=headers) soup2 = BeautifulSoup(res.text, 'html.parser') summary = '' content = '' try: summary = soup2.find('strong', {'class': 'summary_view'}).text.strip() print(summary) except: summary = '요약 없음' pass try: content = soup2.find('div', id='harmonyContainer').text.strip() print(content) except: content = "기사 본문 없음" continue contents = '[기사 제목] ' + title + '\n\n' + summary + '\n\n' + content ## 기사 내용 저장 folder_name = f'./daum_news' file_name = title[:15].strip() # 파일명에서 특수문자 제거 special_char = '\/:*?"<>|' for c in special_char: if c in file_name: file_name = file_name.replace(c, 'x') if not os.path.exists(folder_name): os.makedirs(folder_name) with open(folder_name + '/' + file_name + '.txt', 'w', encoding='utf-8') as f: f.write(contents) # break else : print(response.status_code) daum_news()
저장할 폴더를 'daum_news'로 만들고 파일명은 기사 제목에서 15자까지 추출하여 사용하며, 제목에 특수문자가 있을 경우 저장이 안되는 오류를 방지하기 위해 특수문자를 제거해서 처리함
[실행 결과]
20 https://v.daum.net/v/20220601124604173 지상파 "대선 때 정확성 봤지? 이번 개표방송은 더 정확하게!" [6.1 지방선거]MBC, KBS, SBS 선거개표 방송 경쟁M "출구서 당선확률", K "AR존 운영" S "3면+LED월" 한국방송 제공 선거날만 되면 방송사들은 또 다른 선거를 치른다. 바로 개표방송 대결. 플랫폼이 다양해면서 시청자를 붙들려는 방송사의 경쟁도 더욱 치열해 지고 있다. 방송사들은 8~9개월 전부터 선거방송기획팀을 조직해 프로그 램 구성에서 그래픽(CG)까지 모든 것을 체계적으로 준비한다. <에스비에 스>가 2017년 대통령 선거 때 미국드라마 <왕좌의 게임>에서 아이디어를 얻은 결과물이 화제를 모은 뒤부터는 개표방송에 거는 시청자의 기대도 점점 높아지고 있다. 오늘(1일) 실시된 ‘제8회 전국동시 지방선거’ 개표방송은 지난 대선에 이은 방송사들의 2차전이다. 이재명·안철수 전 대선 후보가 출마하는 등 여느 때보다 관심이 높아서 방송사들도 특히 공을 들였다. 이번 선거방송을 요약하자면 3사 모두 “정확성에 대한 자신”을 강조하고 있다. <문화방송>(MBC)은 “정통”, <한국방송>(KBS)는 “명품”, <에스비 에스>(SBS)는 “신박함”으로 구분 짓는 차이는 있지만, 지난 대선 때보다 도 “더 빠르고 정확해졌다”고 입을 모은다. 지난 대선 때 인정받은 지상 파 출구조사의 정확성과 신뢰성을 이번 선거방송에서 활용한 듯하다. < 문화방송> 쪽은 “지난 3월9일 진행된 대통령 선거방송 이후 3개월이 채 안 되는 짧은 기간 동안 역량을 총동원했다”고 말했다. . .
반응형'코딩 연습 > 파이썬 크롤링' 카테고리의 다른 글
문자로 된 티스토리 블로그 주소(포스트 주소) 파이썬 크롤링 방법 (0) 2022.06.09 스마트 스토어 데이터 크롤링하여 sqlite3에 저장하기 (0) 2022.06.02 온채널 도매 사이트 명예의전당 우수상품 리스트 (0) 2022.05.24 구글 이미지 검색 후 크롤링 (0) 2022.05.20 네이버 인플루언서 탭에서 인플루언서의 이름과 팬 숫자 추출하기 (0) 2022.05.18