none
C# 댓글 다는 프로그램 질문있습니다. RRS feed

  • 질문

  • C# 댓글 다는 프로그램 질문있습니다.

    제가 쿠팡, 티몬, 쿠차차 같은 사이트들의 특정 품목에 대한 댓글들을 크롤링하여
    제 프로그램에 띄우고, 제 프로그램에서 답변댓글을 달면, 답변이 쿠팡, 티몬, 쿠차차에 답변댓글을 쓰는 프로그램을 만들고 싶습니다.

    크롤링은 어느정도 감이 오는데,
    댓글을 쓰는 프로그램은 감이 안옵니다ㅠ...

    혹시 제가 알아야할 키워드나, 접근 방법에 대해 알려주실 수 있으신가요.
    2016년 4월 19일 화요일 오전 2:25

모든 응답

  • 안녕하세요.

    C#에 System.Windows.Forms.WebBrowser컨트롤을 쓰면 쉽게 될것 같고요,

    webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
    
    void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                InjectAlertBlocker(); 
    
                if (webBrowser1.Url.AbsoluteUri == e.Url.AbsoluteUri)
                {
                    m_Loading = true;
                }
                if (localYN)
                {
                    webBrowser1.Document.MouseMove += new HtmlElementEventHandler(Document_MouseMove);
                }
            }
    


    폼이 로드되고 나서  그 다은 부분은 웹페이지를 개발자도구(F12)를 이용하여 엘리먼트를 알아냅니다.

    webBrowser1.Document.Forms["form1"].GetElementsByTagName("input").OfType<HtmlElement>().Where(W => W.Name.Equals("id")).Single<HtmlElement>().SetAttribute("value", "id");
                webBrowser1.Document.Forms["form1"].GetElementsByTagName("input").OfType<HtmlElement>().Where(W => W.Name.Equals("pw")).Single<HtmlElement>().SetAttribute("value", "패스워드");
                webBrowser1.Document.Forms["form1"].GetElementsByTagName("input").OfType<HtmlElement>().Where(W => W.Name.Equals("btnLogin")).Single<HtmlElement>().InvokeMember("click");

    그래서 알아야 될 키워드는 InvokeMember, InvokeScript 이 두가지를 알아야 될것 같습니다.

    스크립트로 엘리먼트에 이벤트 먹이거나 스크립트 함수를 호출하는 것인데.

    저도 출석체크 프로그램을 돌리고 있는데 하다보면 스킬이 생깁니다.

    2017년 2월 23일 목요일 오전 1:31