C# 인스타그램 이미지 피드 가져오기

화면 구성을 간단히 하였습니다. 

화면디자인

수치과인스타그램 A태그 및 이미지 피드를 가져올것입니다.  수치과 인스타그램 버튼을 누르면 할작업을 정리합니다.

찾아보니 C# 은 htmlagilitypack 주로 사용하는것 같았습니다. 

하지만 자바에서 Jsoup를 사용해본 경험이 있어 기능도 부실하고 불편했습니다. Jsoup c#버전이 있더군요. 

NSoup 라고 합니다. c#에도 Selenium이 있습니다. 이것들을 활용해서 데이터를 가져와 보겠습니다. 

NuGet패키지 관리

NuGet으로 오픈소스들을 받아 봅니다. 

NSoup, Selenium.WebDriver, Selenium.WebDriver.ChromeDriver 등을 검색하여 설치합니다. 검색은 Nsoup,selenium으로 충분합니다.

오픈소스 설치

마우스 클릭시 실행할 소스 내용입니다.

 IWebDriver driver = new ChromeDriver(); //Navigate to google page 
            IJavaScriptExecutor js;

            js = (IJavaScriptExecutor)driver;
            String base_url = "https://www.instagram.com/soodental9/";
            driver.Navigate().GoToUrl(base_url); //Close the browser 
            driver.Manage().Window.Size = new System.Drawing.Size(1614, 862);
            js.ExecuteScript("window.scrollTo(0,0)");
            NSoup.Nodes.Document doc = NSoupClient.Parse(driver.PageSource.ToString());
            Console.WriteLine(doc.Title);
           
            NSoup.Select.Elements linksOnPage = doc.Select(".v1Nh3.kIKUG._bz0w"); //클래스.. 
            int i = 1;
            foreach (NSoup.Nodes.Element page in linksOnPage)
            {
                Console.WriteLine("count : " + i++);
                Element link = page.Select("a").First();
                String linkHref = link.Attr("href");

                //System.out.println("a href : " + base_url + linkHref);
                Console.WriteLine("a href : " + base_url + linkHref);
                Element img = page.Select("img").First();
                //String imgtag = img.OuterHtml();
                String imgtag = img.Attr("src");
                Console.WriteLine("img : " + imgtag);                
            }
            driver.Close();

데이터를 가져와서 콘솔창에 찍어보니 잘가져옵니다.

콘솔창내용

이제 db에 연결하여 데이터를 잘 넣으면 될것 같습니다. 

블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,