728x90
네이버 증권에서 뉴스 크롤링¶
In [84]:
stock_cd = '263750'
page_n = '1'
news_url = f"https://finance.naver.com/item/news_news.nhn?code={stock_cd}&page={page_n}&sm=title_entity_id.basic&clusterId="
source = urlopen(news_url).read()
In [85]:
src = bs4.BeautifulSoup(source, 'lxml')
In [86]:
td = src.find_all('td')
td
Out[86]:
[<td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0000750870&office_id=366&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclust','','',event);" target="_top">펄어비스, 신작 ‘붉은사막’ 출시 연기 소식에 4% 넘게 하락</a> </td>, <td class="info">조선비즈</td>, <td class="date"> 2021.07.30 14:34</td>, <td colspan="3"> <table class="type5"> <caption>연관기사 목록</caption> <colgroup> <col/> <col width="130px"/> <col width="110px"/> </colgroup> <tbody> <tr> <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004624278&office_id=008&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>펄어비스, 기대작 '붉은사막' 출시 연기에 5.48%↓</a> </td> <td class="info">머니투데이</td> <td class="date"> 2021.07.30 10:12</td> </tr> <tr class="hide_news none"> <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004998558&office_id=018&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>[특징주]펄어비스, '붉은사막' 출시 연기에 4%대↓</a> </td> <td class="info">이데일리</td> <td class="date"> 2021.07.30 09:20</td> </tr> </tbody> </table> <div class="link_area"> <a class="_moreBtn" data-count="1" href="#" onclick="toggleList(this); return false;">관련뉴스 <em>1</em>건 더보기<span class="ico_down"></span></a> </div> </td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004624278&office_id=008&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>펄어비스, 기대작 '붉은사막' 출시 연기에 5.48%↓</a> </td>, <td class="info">머니투데이</td>, <td class="date"> 2021.07.30 10:12</td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004998558&office_id=018&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>[특징주]펄어비스, '붉은사막' 출시 연기에 4%대↓</a> </td>, <td class="info">이데일리</td>, <td class="date"> 2021.07.30 09:20</td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0000750688&office_id=366&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclust','','',event);" target="_top">펄어비스 신작 ‘붉은사막’ 출시 연기</a> </td>, <td class="info">조선비즈</td>, <td class="date"> 2021.07.29 19:53</td>, <td colspan="3"> <table class="type5"> <caption>연관기사 목록</caption> <colgroup> <col/> <col width="130px"/> <col width="110px"/> </colgroup> <tbody> <tr> <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004998338&office_id=018&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>펄어비스, 대형 야심작 ‘붉은사막’ 출시 연기</a> </td> <td class="info">이데일리</td> <td class="date"> 2021.07.29 18:21</td> </tr> <tr class="hide_news none"> <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004831338&office_id=009&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>펄어비스 ‘붉은사막’ 출시 연기…“추후 일정 공개”</a> </td> <td class="info">매일경제</td> <td class="date"> 2021.07.29 18:06</td> </tr> </tbody> </table> <div class="link_area"> <a class="_moreBtn" data-count="1" href="#" onclick="toggleList(this); return false;">관련뉴스 <em>1</em>건 더보기<span class="ico_down"></span></a> </div> </td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004998338&office_id=018&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>펄어비스, 대형 야심작 ‘붉은사막’ 출시 연기</a> </td>, <td class="info">이데일리</td>, <td class="date"> 2021.07.29 18:21</td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004831338&office_id=009&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>펄어비스 ‘붉은사막’ 출시 연기…“추후 일정 공개”</a> </td>, <td class="info">매일경제</td>, <td class="date"> 2021.07.29 18:06</td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004993748&office_id=018&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclust','','',event);" target="_top">코스닥 주간 외국인 순매도 상위 1위 '펄어비스'</a> </td>, <td class="info">이데일리</td>, <td class="date"> 2021.07.25 09:45</td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0001865497&office_id=016&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclust','','',event);" target="_top">카카오게임즈 ‘오딘’ vs 펄어비스 ‘사막’...‘게임주 3위’ 불꽃경...</a> </td>, <td class="info">헤럴드경제</td>, <td class="date"> 2021.07.23 11:24</td>, <td colspan="3"> <table class="type5"> <caption>연관기사 목록</caption> <colgroup> <col/> <col width="130px"/> <col width="110px"/> </colgroup> <tbody> <tr> <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004992539&office_id=018&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>펄어비스, '붉은 사막' 론칭 연기 전략적 조정-이베스트</a> </td> <td class="info">이데일리</td> <td class="date"> 2021.07.23 08:16</td> </tr> </tbody> </table> </td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004992539&office_id=018&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>펄어비스, '붉은 사막' 론칭 연기 전략적 조정-이베스트</a> </td>, <td class="info">이데일리</td>, <td class="date"> 2021.07.23 08:16</td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004678667&office_id=014&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclust','','',event);" target="_top">[특징주]펄어비스, '검은사막 중국 출시' 기대감 소진에 약세</a> </td>, <td class="info">파이낸셜뉴스</td>, <td class="date"> 2021.07.21 11:09</td>, <td colspan="3"> <table class="type5"> <caption>연관기사 목록</caption> <colgroup> <col/> <col width="130px"/> <col width="110px"/> </colgroup> <tbody> <tr> <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004940870&office_id=277&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>[특징주]펄어비스, 2Q 실적 부진 우려+붉은사막 출시 지연 전망에 ...</a> </td> <td class="info">아시아경제</td> <td class="date"> 2021.07.21 10:14</td> </tr> <tr class="hide_news none"> <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004990283&office_id=018&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>펄어비스, 붉은 사막 출시 연기…“상승 여력 높지 않아”</a> </td> <td class="info">이데일리</td> <td class="date"> 2021.07.21 08:26</td> </tr> </tbody> </table> <div class="link_area"> <a class="_moreBtn" data-count="1" href="#" onclick="toggleList(this); return false;">관련뉴스 <em>1</em>건 더보기<span class="ico_down"></span></a> </div> </td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004940870&office_id=277&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>[특징주]펄어비스, 2Q 실적 부진 우려+붉은사막 출시 지연 전망에 ...</a> </td>, <td class="info">아시아경제</td>, <td class="date"> 2021.07.21 10:14</td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004990283&office_id=018&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>펄어비스, 붉은 사막 출시 연기…“상승 여력 높지 않아”</a> </td>, <td class="info">이데일리</td>, <td class="date"> 2021.07.21 08:26</td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004990540&office_id=018&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclust','','',event);" target="_top">[특징주]펄어비스, '붉은 사막' 연기 가능성에 약세</a> </td>, <td class="info">이데일리</td>, <td class="date"> 2021.07.21 10:39</td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0001864020&office_id=016&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclust','','',event);" target="_top">펄어비스, 여전히 남은 모멘텀…목표주가 상향</a> </td>, <td class="info">헤럴드경제</td>, <td class="date"> 2021.07.20 15:21</td>, <td colspan="3"> <table class="type5"> <caption>연관기사 목록</caption> <colgroup> <col/> <col width="130px"/> <col width="110px"/> </colgroup> <tbody> <tr> <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004618999&office_id=008&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>4거래일 연속 상승 중인 펄어비스…"붉은사막 기대감 크다"</a> </td> <td class="info">머니투데이</td> <td class="date"> 2021.07.20 13:24</td> </tr> <tr class="hide_news none"> <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004989378&office_id=018&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>펄어비스, 붉은사막 中 출시 기대감 높아…목표가 ↑</a> </td> <td class="info">이데일리</td> <td class="date"> 2021.07.20 08:48</td> </tr> <tr class="hide_news none"> <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004618717&office_id=008&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>펄어비스, '붉은사막' 출시 예정…목표주가 상향-신한</a> </td> <td class="info">머니투데이</td> <td class="date"> 2021.07.20 08:12</td> </tr> </tbody> </table> <div class="link_area"> <a class="_moreBtn" data-count="2" href="#" onclick="toggleList(this); return false;">관련뉴스 <em>2</em>건 더보기<span class="ico_down"></span></a> </div> </td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004618999&office_id=008&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>4거래일 연속 상승 중인 펄어비스…"붉은사막 기대감 크다"</a> </td>, <td class="info">머니투데이</td>, <td class="date"> 2021.07.20 13:24</td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004989378&office_id=018&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>펄어비스, 붉은사막 中 출시 기대감 높아…목표가 ↑</a> </td>, <td class="info">이데일리</td>, <td class="date"> 2021.07.20 08:48</td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004618717&office_id=008&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclustsub','','',event);" target="_top"><span class="ico_reply"></span>펄어비스, '붉은사막' 출시 예정…목표주가 상향-신한</a> </td>, <td class="info">머니투데이</td>, <td class="date"> 2021.07.20 08:12</td>, <td class="title"> &llt;a class="tit" href="/item/news_read.nhn?article_id=0001863195&office_id=016&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclust','','',event);" target="_top">[특징주]펄어비스, '검은 사막' 모바일 중국 흥행 기대감에 강세</a> </td>, <td class="info">헤럴드경제</td>, <td class="date"> 2021.07.19 10:20</td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0004984910&office_id=018&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclust','','',event);" target="_top">[줌인] ‘게임 개발자 성공신화’ 펄어비스에 몰린 이유</a> </td>, <td class="info">이데일리</td>, <td class="date"> 2021.07.14 18:38</td>, <td class="title"> <a class="tit" href="/item/news_read.nhn?article_id=0003936574&office_id=011&code=263750&page=1&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclust','','',event);" target="_top">'非오너 주식부자' 톱10 중 5명이나···펄어비스는 어떤 기업?</a> </td>, <td class="info">서울경제</td>, <td class="date"> 2021.07.14 14:59</td>, <td class="on"> <a href="/item/news_news.nhn?code=263750&page=1&sm=title_entity_id.basic&clusterId=" onclick="clickcr(this,'stn.npag','','',event);">1</a> </td>, <td> <a href="/item/news_news.nhn?code=263750&page=2&sm=title_entity_id.basic&clusterId=" onclick="clickcr(this,'stn.npag','','',event);">2</a> </td>, <td> <a href="/item/news_news.nhn?code=263750&page=3&sm=title_entity_id.basic&clusterId=" onclick="clickcr(this,'stn.npag','','',event);">3</a> </td>, <td> <a href="/item/news_news.nhn?code=263750&page=4&sm=title_entity_id.basic&clusterId=" onclick="clickcr(this,'stn.npag','','',event);">4</a> </td>, <td> <a href="/item/news_news.nhn?code=263750&page=5&sm=title_entity_id.basic&clusterId=" onclick="clickcr(this,'stn.npag','','',event);">5</a> </td>, <td> <a href="/item/news_news.nhn?code=263750&page=6&sm=title_entity_id.basic&clusterId=" onclick="clickcr(this,'stn.npag','','',event);">6</a> </td>, <td> <a href="/item/news_news.nhn?code=263750&page=7&sm=title_entity_id.basic&clusterId=" onclick="clickcr(this,'stn.npag','','',event);">7</a> </td>, <td> <a href="/item/news_news.nhn?code=263750&page=8&sm=title_entity_id.basic&clusterId=" onclick="clickcr(this,'stn.npag','','',event);">8</a> </td>, <td> <a href="/item/news_news.nhn?code=263750&page=9&sm=title_entity_id.basic&clusterId=" onclick="clickcr(this,'stn.npag','','',event);">9</a> </td>, <td> <a href="/item/news_news.nhn?code=263750&page=10&sm=title_entity_id.basic&clusterId=" onclick="clickcr(this,'stn.npag','','',event);">10</a> </td>, <td class="pgR"> <a href="/item/news_news.nhn?code=263750&page=11&sm=title_entity_id.basic&clusterId=" onclick="clickcr(this,'stn.npag','','',event);"> 다음<img alt="" border="0" height="5" src="https://ssl.pstatic.net/static/n/cmn/bu_pgarR.gif" width="3"/> </a> </td>, <td class="pgRR"> <a href="/item/news_news.nhn?code=263750&page=28&sm=title_entity_id.basic&clusterId=" onclick="clickcr(this,'stn.npag','','',event);">맨뒤 <img alt="" border="0" height="5" src="https://ssl.pstatic.net/static/n/cmn/bu_pgarRR.gif" width="8"/> </a> </td>]
증권 뉴스 날짜 크롤링¶
In [87]:
src.find_all('td', class_='date')[0].text.strip().split()[0]
Out[87]:
'2021.07.30'
In [88]:
src.find_all('td', class_='date')[4].text.strip().split()[0]
Out[88]:
'2021.07.29'
증권 뉴스 제목 크롤링¶
In [89]:
src.find_all('td', class_='title')[0].text.replace('\n','')
Out[89]:
'펄어비스, 신작 ‘붉은사막’ 출시 연기 소식에 4% 넘게 하락'
증권 뉴스 정보제공 신문사 크롤링¶
In [124]:
src.find_all('td', class_='info')[0].text
Out[124]:
'머니투데이'
증권 뉴스 내용 크롤링 하기(가장 많이 쓰인 단어 베스트 5)¶
- 링크 얻기
In [158]:
art = src.find_all('td', class_='title')[0].find_all('a', class_='tit')[0]
type(art)
art
Out[158]:
<a class="tit" href="/item/news_read.nhn?article_id=0004533907&office_id=008&code=263750&page=20&sm=title_entity_id.basic" onclick="clickcr(this,'stn.ntitclust','','',event);" target="_top">펄어비스, 붉은사막 기대감에 기업가치 상승…목표가↑-SK</a>
In [159]:
art["href"]
Out[159]:
'/item/news_read.nhn?article_id=0004533907&office_id=008&code=263750&page=20&sm=title_entity_id.basic'
In [162]:
art = src.find_all('td', class_='title')[1].find_all('a', class_='tit')[0]
type(art)
art["href"]
Out[162]:
'/item/news_read.nhn?article_id=0003860806&office_id=011&code=263750&page=20&sm=title_entity_id.basic'
In [163]:
src.find_all('td', class_='title')[1].find_all('a', class_='tit')[0]["href"]
Out[163]:
'/item/news_read.nhn?article_id=0003860806&office_id=011&code=263750&page=20&sm=title_entity_id.basic'
- 링크 안의 내용 가져오기
In [175]:
news_link = "https://finance.naver.com" + src.find_all('td', class_='title')[0].find_all('a', class_='tit')[0]["href"]
news_link
# https://finance.naver.com/item/news_read.nhn?article_id=0000750870&office_id=366&code=263750&page=1&sm=title_entity_id.basic
Out[175]:
'https://finance.naver.com/item/news_read.nhn?article_id=0004533907&office_id=008&code=263750&page=20&sm=title_entity_id.basic'
In [189]:
res = requests.get(news_link)
art_source = res.text
art_src = bs4.BeautifulSoup(art_source, 'lxml')
art = art_src.find('div', id='news_read')
type(art.text)
Out[189]:
str
In [193]:
news_data = art.text.split()
def most_frequent(news_data):
return max(news_data, key=news_data.count)
most_frequent(news_data)
Out[193]:
'검은사막'
해당 페이지 데이터 크롤링¶
In [92]:
dates = src.find_all('td', class_='date')
In [96]:
titles = src.find_all('td', class_='title')
In [196]:
infos = src.find_all('td', class_='info')
In [ ]:
In [214]:
for i in range(len(dates)):
news_date = dates[i].text.strip().split()[0]
news_date = date_format(news_date)
news_title = titles[i].text.replace('\n','')
news_info = info[i].text
news_link = "https://finance.naver.com" + src.find_all('td', class_='title')[0].find_all('a', class_='tit')[0]["href"]
news_source = urlopen(news_link).read()
news_src = bs4.BeautifulSoup(news_source)
news_art = news_src.find('div', id='news_read').text.split()
word_dict = dict()
for word in news_art:
word_dict[word] = word_dict.get(word, 0) + 1
a = sorted(word_dict, key= lambda x : word_dict[x], reverse=True)
news_word1 = a[0]
news_word2 = a[1]
news_word3 = a[2]
news_word4 = a[3]
news_word5 = a[4]
# news_word1 = most_frequent(news_art)
# news_art.remove(news_word1)
# news_word2 = most_frequent(news_art)
# news_art.remove(news_word2)
# news_word3 = most_frequent(news_art)
print(news_date, news_title, news_info, news_word1, news_word2, news_word3, news_word4, news_word5)
2021-02-17 "펄어비스, 붉은사막 흥행 기대···목표가↑" 조선비즈 및 올해 연구원은 기존 KTB증권은 2021-02-17 펄어비스, 신작 '붉은사막' 예상 판매량↑…목표가도↑-KTB 머니투데이 및 올해 연구원은 기존 KTB증권은 2021-02-17 펄어비스, 신작 '붉은사막' 흥행 기대…조정시 매수 -신한 이데일리 및 올해 연구원은 기존 KTB증권은 2021-02-17 [클릭 e종목]"펄어비스, 붉은사막 초기 판매량 상향조정…목표가↑" 조선비즈 및 올해 연구원은 기존 KTB증권은 2021-02-16 펄어비스, 5대1 액면분할 결정 이데일리 및 올해 연구원은 기존 KTB증권은 2021-02-16 펄어비스, 5대 1 액면분할 결정 매일경제 및 올해 연구원은 기존 KTB증권은 2021-02-16 펄어비스 작년 영업익 4.4% 증가 이데일리 및 올해 연구원은 기존 KTB증권은 2021-02-16 펄어비스, 올해 '붉은사막'만 보고 간다…"트리플A급 성적 자신" 헤럴드경제 및 올해 연구원은 기존 KTB증권은 2021-02-16 [종합] 펄어비스, 올해 ‘붉은사막’ 집중…도약 예열 ‘이상무’ 이데일리 및 올해 연구원은 기존 KTB증권은 2021-02-16 [펄어비스 컨콜] “붉은사막, 트리플A급 성과 달성 ‘목표’” 파이낸셜뉴스 및 올해 연구원은 기존 KTB증권은 2021-02-16 [컨콜] 펄어비스, ‘붉은사막’ 기대감…‘도깨비·플랜8’ 해마다 1종씩... 아시아경제 및 올해 연구원은 기존 KTB증권은 2021-02-16 펄어비스, 작년 영업익 1573억…해외매출 비중 77% 이데일리 및 올해 연구원은 기존 KTB증권은 2021-02-16 ‘검은사막’ 펄어비스 4분기 영업익 200억…전년比 30% 급락 이데일리 및 올해 연구원은 기존 KTB증권은 2021-02-16 펄어비스, 지난해 영업이익 1,573억 원... 전년比 4.4% 늘어 헤럴드경제 및 올해 연구원은 기존 KTB증권은 2021-02-16 펄어비스, 작년 매출 4888억원…전년비 매출↓·영업익↑ 머니투데이 및 올해 연구원은 기존 KTB증권은 2021-02-16 펄어비스, 4분기 영업이익 200억원…전년比 29.9%↓ 이데일리 및 올해 연구원은 기존 KTB증권은 2021-02-16 [공시] 펄어비스, 4Q 영업익 199억원...전년比 29.9%↓ 머니투데이 및 올해 연구원은 기존 KTB증권은 2021-02-16 펄어비스, 지난해 영업익 1573억…전년比 4.4%↑ ‘선방’ 헤럴드경제 및 올해 연구원은 기존 KTB증권은 2021-02-16 펄어비스, 작년 영업이익 1573억...전년比 4.4% ↑ 이데일리 및 올해 연구원은 기존 KTB증권은 2021-02-11 코스닥 게임 대장株 펄어비스, 실적 타고 더 오를까 서울경제 및 올해 연구원은 기존 KTB증권은
--------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-214-d5ac20c21704> in <module> 3 news_date = date_format(news_date) 4 news_title = titles[i].text.replace('\n','') ----> 5 news_info = info[i].text 6 news_link = "https://finance.naver.com" + src.find_all('td', class_='title')[0].find_all('a', class_='tit')[0]["href"] 7 news_source = urlopen(news_link).read() IndexError: list index out of range
100페이지에 있는 데이터 크롤링¶
In [215]:
page_n = 20
stock_cd = '263750'
news_url = f"https://finance.naver.com/item/news_news.nhn?code={stock_cd}&page={page_n}&sm=title_entity_id.basic&clusterId="
source = urlopen(news_url).read()
src = bs4.BeautifulSoup(source, 'lxml')
dates = src.find_all('td', class_='date')
titles = src.find_all('td', class_='title')
infos = src.find_all('td', class_='info')
for i in range(len(dates)):
news_date = dates[i].text.strip().split()[0]
news_date = date_format(news_date)
news_title = titles[i].text.replace('\n','')
news_info = infos[i].text
news_link = "https://finance.naver.com" + src.find_all('td', class_='title')[0].find_all('a', class_='tit')[0]["href"]
news_source = urlopen(news_link).read()
news_src = bs4.BeautifulSoup(news_source)
news_art = news_src.find('div', id='news_read').text.split()
word_dict = dict()
for word in news_art:
word_dict[word] = word_dict.get(word, 0) + 1
a = sorted(word_dict, key= lambda x : word_dict[x], reverse=True)
news_word1 = a[0]
news_word2 = a[1]
news_word3 = a[2]
news_word4 = a[3]
news_word5 = a[4]
# news_word1 = most_frequent(news_art)
# news_art.remove(news_word1)
# news_word2 = most_frequent(news_art)
# news_art.remove(news_word2)
# news_word3 = most_frequent(news_art)
print(news_date, news_title, news_info, news_word1, news_word2, news_word3, news_word4, news_word5)
2021-01-27 [특징주]엔씨소프트·넷마블·펄어비스 급등…계속되는 게임株 강세 헤럴드경제 올해 것으로 있다. 및 대한 2021-01-26 펄어비스, 붉은사막 기대감에 기업가치 상승…목표가↑-SK 머니투데이 올해 것으로 있다. 및 대한 2021-01-22 [특징주] 신작효과·실적 개선 전망에 웹젠·펄어비스 등 동반 상승 서울경제 올해 것으로 있다. 및 대한 2021-01-22 펄어비스, 신작 '붉은 사막' 모멘텀 등 긍정적…목표가↑ -이베스트 이데일리 올해 것으로 있다. 및 대한 2021-01-21 펄어비스의 ‘검은사막’ 북미·유럽 직접 서비스…이번에도 성공할까 매일경제 올해 것으로 있다. 및 대한 2021-01-14 펄어비스 ‘섀도우 아레나’, 팀 협업 플레이 강화 이데일리 올해 것으로 있다. 및 대한 2021-01-05 펄어비스·카카오게임즈·컴투스 게임중견 3인방, 대형 신작 승부수 매일경제 올해 것으로 있다. 및 대한 2021-01-04 펄어비스 ‘검은사막’, 북미·유럽 스팀 4위 ‘기염’ 이데일리 올해 것으로 있다. 및 대한 2021-01-04 펄어비스 ‘검은사막’ 북미·유럽 스팀 MMO 장르 판매 4위 매일경제 올해 것으로 있다. 및 대한 2020-12-30 펄어비스 ‘검은사막’, 업데이트 통했다…신규 이용자 125% 증가 매일경제 올해 것으로 있다. 및 대한 2020-12-23 펄어비스, 새해 ‘붉은사막’으로 승부한다 파이낸셜뉴스 올해 것으로 있다. 및 대한
데이터들 크롤링하기¶
In [216]:
def crawl_news_data(stock_cd, end_page):
date_list = []
title_list = []
info_list = []
word_list1 = []
word_list2 = []
word_list3 = []
word_list4 = []
word_list5 = []
for i in range(1, end_page+1):
page_n = i
news_url = f"https://finance.naver.com/item/news_news.nhn?code={stock_cd}&page={page_n}&sm=title_entity_id.basic&clusterId="
source = urlopen(news_url).read()
src = bs4.BeautifulSoup(source, 'lxml')
dates = src.find_all('td', class_='date')
titles = src.find_all('td', class_='title')
infos = src.find_all('td', class_='info')
for i in range(len(dates)):
news_date = dates[i].text.strip().split()[0]
news_date = date_format(news_date)
news_title = titles[i].text.replace('\n','')
news_info = infos[i].text
news_link = "https://finance.naver.com" + src.find_all('td', class_='title')[0].find_all('a', class_='tit')[0]["href"]
news_source = urlopen(news_link).read()
news_src = bs4.BeautifulSoup(news_source)
news_art = news_src.find('div', id='news_read').text.split()
word_dict = dict()
for word in news_art:
word_dict[word] = word_dict.get(word, 0) + 1
a = sorted(word_dict, key= lambda x : word_dict[x], reverse=True)
news_word1 = a[0]
news_word2 = a[1]
news_word3 = a[2]
news_word4 = a[3]
news_word5 = a[4]
# news_word1 = most_frequent(news_art)
# news_art.remove(news_word1)
# news_word2 = most_frequent(news_art)
# news_art.remove(news_word2)
# news_word3 = most_frequent(news_art)
date_list.append(news_date)
title_list.append(news_title)
info_list.append(news_info)
word_list1.append(news_word1)
word_list2.append(news_word2)
word_list3.append(news_word3)
word_list4.append(news_word4)
word_list5.append(news_word5)
df = pd.DataFrame({"날짜" : date_list, "뉴스 제목" : title_list, "제공" : info_list, '키워드1' : word_list1, '키워드2' : word_list2, '키워드3' : word_list3,
"키워드4" : word_list4, "키워드5" : word_list5})
return df
crawl_news_data(263750, 10)
Out[216]:
날짜 | 뉴스 제목 | 제공 | 키워드1 | 키워드2 | 키워드3 | 키워드4 | 키워드5 | |
---|---|---|---|---|---|---|---|---|
0 | 2021-08-03 | 게임株까지 덮친 ‘中공산당 리스크’ ···펄어비스·위메이드 와르르 | 서울경제 | 중국 | 게임 | 국내 | 발급 | 규제 |
1 | 2021-07-30 | 펄어비스, 신작 ‘붉은사막’ 출시 연기 소식에 4% 넘게 하락 | 조선비즈 | 중국 | 게임 | 국내 | 발급 | 규제 |
2 | 2021-07-30 | 펄어비스, 기대작 '붉은사막' 출시 연기에 5.48%↓ | 머니투데이 | 중국 | 게임 | 국내 | 발급 | 규제 |
3 | 2021-07-30 | [특징주]펄어비스, '붉은사막' 출시 연기에 4%대↓ | 이데일리 | 중국 | 게임 | 국내 | 발급 | 규제 |
4 | 2021-07-29 | 펄어비스 신작 ‘붉은사막’ 출시 연기 | 조선비즈 | 중국 | 게임 | 국내 | 발급 | 규제 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
177 | 2021-02-16 | [공시] 펄어비스, 4Q 영업익 199억원...전년比 29.9%↓ | 파이낸셜뉴스 | 및 | 올해 | 연구원은 | 기존 | KTB증권은 |
178 | 2021-02-16 | 펄어비스, 지난해 영업익 1573억…전년比 4.4%↑ ‘선방’ | 매일경제 | 및 | 올해 | 연구원은 | 기존 | KTB증권은 |
179 | 2021-02-16 | 펄어비스, 작년 영업이익 1573억...전년比 4.4% ↑ | 아시아경제 | 및 | 올해 | 연구원은 | 기존 | KTB증권은 |
180 | 2021-02-11 | 코스닥 게임 대장株 펄어비스, 실적 타고 더 오를까 | 이데일리 | 및 | 올해 | 연구원은 | 기존 | KTB증권은 |
181 | 2021-02-05 | 펄어비스 차기작 ‘붉은사막’, 해외서 잇단 호평 | 매일경제 | 및 | 올해 | 연구원은 | 기존 | KTB증권은 |
182 rows × 8 columns
네이버 뉴스 크롤링하기¶
- 네이버 코드 035420
In [217]:
crawl_news_data('035420', 50)
Out[217]:
날짜 | 뉴스 제목 | 제공 | 키워드1 | 키워드2 | 키워드3 | 키워드4 | 키워드5 | |
---|---|---|---|---|---|---|---|---|
0 | 2021-08-03 | 이제 네이버에 'OOO 코로나' 검색해도 연관검색어 안뜬다 | 한국경제 | 인물명이 | 포함된 | 앞으로는 | '코로나 | 'OOO |
1 | 2021-08-03 | 네이버에서 인물명 검색하면 연관검색어 안뜬다 | 머니투데이 | 인물명이 | 포함된 | 앞으로는 | '코로나 | 'OOO |
2 | 2021-08-03 | "맞수에게 배우자" 닮아가는 네이버·쿠팡 | 서울경제 | 인물명이 | 포함된 | 앞으로는 | '코로나 | 'OOO |
3 | 2021-08-03 | 비즈넵 운영사 에멘탈, 네이버 등서 60억원 투자 유치 | 서울경제 | 인물명이 | 포함된 | 앞으로는 | '코로나 | 'OOO |
4 | 2021-08-03 | [fn마켓워치]네이버·고릴라PE, 경영관리 자동화 서비스에 투자 | 파이낸셜뉴스 | 인물명이 | 포함된 | 앞으로는 | '코로나 | 'OOO |
... | ... | ... | ... | ... | ... | ... | ... | ... |
821 | 2021-06-25 | 네이버·카카오 뉴스 편집권 폐지?…구글엔 '속수무책' | 머니투데이 | 네이버 | 최 | COO는 | 조사 | 대한 |
822 | 2021-06-24 | 카카오 네이버가 다했네…코스피 이달 시총 증가 40% 차지 | 매일경제 | 네이버 | 최 | COO는 | 조사 | 대한 |
823 | 2021-06-24 | 네이버, 왓패드와 시너지 본격화…콘텐츠 1000억 투자 | 이데일리 | 네이버 | 최 | COO는 | 조사 | 대한 |
824 | 2021-06-24 | 네이버, 웹툰-왓패드스튜디오 통합..글로벌IP 승부 | 파이낸셜뉴스 | 네이버 | 최 | COO는 | 조사 | 대한 |
825 | 2021-06-24 | 네이버·왓패드 영상 스튜디오 통합·1,000억 투자... 글로벌 IP... | 서울경제 | 네이버 | 최 | COO는 | 조사 | 대한 |
826 rows × 8 columns
삼성전자 뉴스 크롤링¶
In [218]:
crawl_news_data('005930', 50)
Out[218]:
날짜 | 뉴스 제목 | 제공 | 키워드1 | 키워드2 | 키워드3 | 키워드4 | 키워드5 | |
---|---|---|---|---|---|---|---|---|
0 | 2021-08-03 | “하라는 거야 말라는 거야?” 삼성 체험 서비스 갈수록 ‘깐깐’ | 헤럴드경제 | 수 | 서비스를 | 등 | 있는 | 체험 |
1 | 2021-08-03 | ‘갤럭시 얼리버드 투고 서비스’ 운영…삼성, 폴더블폰 마케팅 ‘시동’ | 이데일리 | 수 | 서비스를 | 등 | 있는 | 체험 |
2 | 2021-08-03 | '김연경' 갤워치4 갤폴드3, '3일 공짜폰' 됐다…삼성, 제품체험 ... | 매일경제 | 수 | 서비스를 | 등 | 있는 | 체험 |
3 | 2021-08-03 | 인도에 공들이는 삼성…KLE대학에 'AI 연구소' 세운 까닭 | 머니투데이 | 수 | 서비스를 | 등 | 있는 | 체험 |
4 | 2021-08-03 | 삼성전자, 印대학과 첨단기술 싹 틔운다…AI·머신러닝 연구소 세워 | 아시아경제 | 수 | 서비스를 | 등 | 있는 | 체험 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
881 | 2021-07-22 | 존림 삼바 사장 "모더나 위탁생산 亞서 삼성만 가능" | 이데일리 | '비스포크 | 있다. | 에어컨 | 삼성 | 위해 |
882 | 2021-07-22 | 美 오스틴 당국 “삼성과 협상시작, 8월 중 합의”…경제계 “이재용 부... | 헤럴드경제 | '비스포크 | 있다. | 에어컨 | 삼성 | 위해 |
883 | 2021-07-22 | 삼성전자 부진해도…삼성그룹株 펀드는 ‘꿋꿋’ | 아시아경제 | '비스포크 | 있다. | 에어컨 | 삼성 | 위해 |
884 | 2021-07-22 | [특징주] 삼성전자 ‘8만 전자’ 회복할까…SK하이닉스도 강세 | 헤럴드경제 | '비스포크 | 있다. | 에어컨 | 삼성 | 위해 |
885 | 2021-07-22 | 삼성전자·SK하이닉스, 美 반도체주 훈풍에 주가 반등 | 조선비즈 | '비스포크 | 있다. | 에어컨 | 삼성 | 위해 |
886 rows × 8 columns
SK하이닉스 뉴스 크롤링¶
In [219]:
crawl_news_data('000660', 50)
Out[219]:
날짜 | 뉴스 제목 | 제공 | 키워드1 | 키워드2 | 키워드3 | 키워드4 | 키워드5 | |
---|---|---|---|---|---|---|---|---|
0 | 2021-08-03 | 삼성전자 두달만에 2%대 상승… SK하이닉스는 3%↑ | 파이낸셜뉴스 | 삼성전자 | 지난 | 것은 | 이후 | 주가는 |
1 | 2021-08-03 | 삼성전자·포스코·SK하이닉스·롯데, 청년 고용 위해 정부와 맞손 | 한국경제 | 삼성전자 | 지난 | 것은 | 이후 | 주가는 |
2 | 2021-08-03 | SK하이닉스, ESG 캠페인으로 '디지털애드어워즈' 대상 | 아시아경제 | 삼성전자 | 지난 | 것은 | 이후 | 주가는 |
3 | 2021-08-03 | [특징주]삼성전자, 12거래일 만에 장중 ‘8만전자’ 회복…SK하이닉스... | 헤럴드경제 | 삼성전자 | 지난 | 것은 | 이후 | 주가는 |
4 | 2021-08-03 | [특징주] 삼전, 13거래일 만에 8만원선 회복...SK하이닉스도 3%... | 서울경제 | 삼성전자 | 지난 | 것은 | 이후 | 주가는 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
837 | 2021-04-15 | '환경·노동 규제완화' 반도체 특별법 나온다...첫 수혜는 SK하이닉스 | 조선비즈 | 심사를 | 반도체 | 낸드플래시 | 최근 | 기자 |
838 | 2021-04-15 | 최태원의 SK, '하이닉스 직접 지배' 왜 보류했나 | 머니투데이 | 심사를 | 반도체 | 낸드플래시 | 최근 | 기자 |
839 | 2021-04-15 | SKT 중간 지주사 전환에도 하이닉스 투자 규제 여젼…"국내투자 역차... | 이데일리 | 심사를 | 반도체 | 낸드플래시 | 최근 | 기자 |
840 | 2021-04-15 | 풀HD급 영화 1초에 저장...SK하이닉스, 기업용 SSD 신제품 양산 | 헤럴드경제 | 심사를 | 반도체 | 낸드플래시 | 최근 | 기자 |
841 | 2021-04-15 | '풀HD급 영화 한 편 1초에 저장'…SK하이닉스, 기업용 SSD 신... | 헤럴드경제 | 심사를 | 반도체 | 낸드플래시 | 최근 | 기자 |
842 rows × 8 columns
In [ ]:
728x90
반응형
'AI > K-Digital Training' 카테고리의 다른 글
013. 데이터 베이스 개념 요약 2 (0) | 2021.08.09 |
---|---|
012. 데이터베이스 개념 요약1 (0) | 2021.08.09 |
010. 네이버 증권에서 달러 환율과 내 주식 데이터 크롤링 (0) | 2021.08.06 |
009. 네이버 금융에서 원자재 시세 데이터 크롤링하기 (0) | 2021.08.05 |
008. json 활용한 뉴스 본문 및 댓글 크롤링 (0) | 2021.08.04 |