핀테크 교육/금융데이터 활용

크롤링 (네이버 기사 크롤링 - newspaper3k 사용)

나굥 2022. 7. 5. 13:44
728x90

newspaper3k : newspaper3k는 뉴스 데이터를 크롤링을 위한 패키지

뉴스 기사의 url을 전달해주면, 뉴스 기사의 제목과 텍스트를 추출해준다.

https://always-here.tistory.com/55?category=984522 

 

크롤링 (네이버 기사 크롤링)

link_result=find_url(company_code) 네이버 금융 뉴스공시를 클릭하며 뉴스 기사들의 제목이 나오고 해당 제목을 클릭해야 뉴스 내용을 볼 수 있다. 따라서 먼저 회사 코드로 뉴스 공시 페이지에 들어간

always-here.tistory.com

 

위 글을 newspaper3k를 사용해서 다시 크롤링 해보았다.  

df=pd.DataFrame(columns={"title","content"})
title의 링크와 본문을 저장할 데이터프레임 df를 생성한다. 
 
 
link_result=find_url(company_code)
df["title"] = link_result
 
위 글에서처럼 title의 링크를 추출하고 이를 df 데이터프레임에 넣어주었다. 
 
newspaper3k를 사용하기 위해 Article 임포트 해오고 url_to_text 함수를 생성했다.
 
from newspaper import Article
 
 
def url_to_text(url):
  article = Article(url, language='ko')
  article.download()
  article.parse()
  return article.text
 
데이터프레임['새로운열'] = 데이터프레임['열이름'].apply(함수)
해당 데이터프레임의 열이름의 열에다가 전체 행에 해당 함수를 적용하여 새로운 열에다가 저장하라! 는 뜻

df['content'] = df["title"].apply(url_to_text)

df['content'] 에 각각의 기사의 본문 내용이 저장된 것을 알 수 있었다. 

728x90