본문 바로가기
C# 기술

[C#] C# 으로 크롤링 하기 C# Selenium Crawling

by bryan.oh 2020. 10. 17.
반응형

C#
Web Crawler
Selenium

 

1. Library 를 설치

Nuget 페키지 관리자를 열어서 아래 목록을 설치합니다.

  • Selenium.WebDriver

  • Selenium.Support

  • Selenium.WebDriver.ChromeDriver

  • DotNetSeleniumExtras.WaitHelpers

 

2. using

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

필요한것 만 using 하면됩니다.

 

3. Code sample

using (IWebDriver driver = new ChromeDriver())
{
	driver.Url = "http://some.url.com";
    // find 할때 찾을때까지 기다리는 seconds 설정
	driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(2);
    
    // id="content" 라는 element에 있는 li tag 를 모두 가져옴
	var elements = driver.FindElements(By.CssSelector("#content li"));

	Console.WriteLine("li size = " + elements.Count);
	foreach(var el in elements)
	{
    	// 각각의 li 에서 원하는 데이터를 찾는다. span tag 중 class 명이 main_title 인 element
		var title = el.FindElement(By.CssSelector("span.main_title")).Text.Trim();
		Console.WriteLine(title);
	}
}

 

WebBrowser visible 설정

ChromeDriverService service = ChromeDriverService.CreateDefaultService();
service.HideCommandPromptWindow = true;
IWebDriver driver = new ChromeDriver(service);

 

 

 

 

 

 

 

 

 

728x90
반응형

댓글