//zoek zonder input van user beginpunt
        public async Task <bool> crawlBeginpunt()
        {
            bool gelukt = false;

            //beginpunt
            try
            {
                //crawl beginpunt
                Debug.WriteLine("crawlBeginpunt gets results");
                httpClientRequest = new MaakHttpClientAan();
                string httpResponseBody = "";
                string url = "https://www.youtube.com/";
                httpResponseBody = await httpClientRequest.doeHttpRequestYoutubeVoorScrawlerEnGeefResults(url);

                //haal de body uit de response
                httpResponseBody = CrawlerRegex.regexContent(httpResponseBody);

                lock (this.locker)
                {
                    lijstResponses.Add(httpResponseBody);
                    gelukt = true;
                }
            }
            catch (NullReferenceException e)
            {
                Debug.WriteLine("crawlBeginpunt() geeft NullReferenceException: " + e.Message);
            }

            return(gelukt);
        }
        public async Task <string> getResponseBody(string url)
        //public async void getResponseBody(string url)
        {
            string antwoord = "";

            Debug.WriteLine("getResponseBody starts");

            //getResponseBody url
            httpClientRequest = new MaakHttpClientAan();

            //welke url crawlen
            Debug.WriteLine("url in getResponseBody() = " + url);

            try
            {
                antwoord = await httpClientRequest.doeHttpRequestYoutubeVoorScrawlerEnGeefResults(url); //await = wacht totdat antwoord is

                //Debug.WriteLine(antwoord);
            }
            catch (Exception ex)
            {
                //als httprequest bijv door foute url een error terug geeft
                Debug.WriteLine("httpError: " + ex.StackTrace);
            }

            return(antwoord);
        }
Exemple #3
0
        //zoek op userinput
        static public async Task <string> crawlZoekterm(string zoekterm)
        {
            MaakHttpClientAan httpClientRequest = new MaakHttpClientAan();
            string            httpResponseBody  = await httpClientRequest.doeHttpRequestYoutubeMetZoektermEnGeefResults(zoekterm);

            //haal de results uit de response
            httpResponseBody = CrawlerRegex.regexResults(httpResponseBody);

            await Task.Factory.StartNew(async() =>
            {
                //haal uit results urls
                List <string> urls = CrawlerRegex.regexUrls(httpResponseBody);

                //ga over de gevonden urls
                foreach (String url in urls)
                {
                    //haal uit urls bodys
                    string body     = "";
                    string antwoord = "";

                    //getResponseBody url
                    httpClientRequest = new MaakHttpClientAan();
                    await Task.Delay(1000);

                    //welke url crawlen
                    //Debug.WriteLine("url in getResponseBody() = " + url);
                    antwoord = await httpClientRequest.doeHttpRequestYoutubeVoorScrawlerEnGeefResults(url);

                    //haal content uit string
                    body = CrawlerRegex.regexContent(antwoord);

                    //haal keywords uit body
                    CrawlerRegex.regexKeywords(body);
                } //gevonden urls gedaan
            });

            //return string van httpResponseBody
            return(httpResponseBody);
        }