반응형
검색한 뉴스가 몇 개 있는지 조사하는 부분까지 구현합니다.
뉴스 검색 API를 사용하기 위한 초반 작업입니다.
소스 코드
- NaverNews.cs
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Xml;
namespace 네이버_뉴스_크롤링_라이브러리_제작
{
public class NaverNews
{
public string SRC
{
get;
set;
}
public string ID
{
get;
set;
}
public string Secret
{
get;
set;
}
public NaverNews(string id,string secret)
{
ID = id;
Secret = secret;
}
public int Find(string src)
{
SRC = src;
Stream stream;
string url = string.Format("https://openapi.naver.com/v1/search/news.xml?query={0}&sort=date", src);
XmlDocument xdoc = MakeDocument(url, out stream);
XmlNode node = xdoc.SelectSingleNode("rss");
XmlNode n = node.SelectSingleNode("channel");
int total = int.Parse(n.SelectSingleNode("total").InnerText);
stream.Close();
return total;
}
private XmlDocument MakeDocument(string url, out Stream stream)
{
WebRequest request = null;
request = WebRequest.Create(url);
request.Headers.Add("X-Naver-Client-Id", ID);
request.Headers.Add("X-Naver-Client-Secret", Secret);
WebResponse response = request.GetResponse();
stream = response.GetResponseStream();
XmlDocument xdoc = new XmlDocument();
xdoc.Load(stream);
return xdoc;
}
public List<News> FindNews(int start, int display)
{
return null;
}
}
}
- News.cs
namespace 네이버_뉴스_크롤링_라이브러리_제작
{
public class News
{
}
}
- Program.cs
// ehpub.co.kr
// 데이터분석 with C#
//네이버 뉴스 크롤링 라이브러리 v0.1 제작하기
using System;
namespace 네이버_뉴스_크롤링_라이브러리_제작
{
class Program
{
static void Main(string[] args)
{
string id = "[네이버 개발자센터 발급 - 응용 ID]";
string secret = "[네이버 개발자센터 발급 - Secret]";
NaverNews nn = new NaverNews(id, secret);
int total = nn.Find("코로나");
Console.WriteLine(total);
}
}
}
반응형
'빅데이터 > 데이터분석 with C#' 카테고리의 다른 글
HTML Parser 패키지 HtmlAgilityPack 설치 및 HTML BODY 내용 얻어오기 (0) | 2020.05.07 |
---|---|
뉴스 크롤링을 넘어 형태소 분석 구현 (0) | 2020.05.04 |
뉴스 크롤링 라이브러리 만들기3 (0) | 2020.05.04 |
뉴스 크롤링 라이브러리 만들기2 (0) | 2020.05.04 |
뉴스 크롤링을 위한 사전 작업 - 네이버 개발자 센터 뉴스 검색 API 개요 (0) | 2020.05.04 |