Пример #1
0
        private static List <Equipe> ExtraiDadosEquipes(IEnumerable <string> urlsEquipes)
        {
            var rand    = new Random();
            var equipes = new List <Equipe>();

            foreach (var urlEquipe in urlsEquipes)
            {
                Thread.Sleep((int)Math.Ceiling(2500 * rand.NextDouble()));
                Console.WriteLine(urlEquipe);

                var documentEquipe = new HtmlWeb().Load(urlEquipe);

                var secaoCabecalho = documentEquipe.GetElementbyId("main-container").Descendants("section").First(s => s.Attributes.Contains("class") && s.Attributes["class"].Value.Contains("team_subheader"));
                var nomeTime       = secaoCabecalho.Descendants("strong").First(s => s.Attributes.Contains("class") && s.Attributes["class"].Value.Contains("title")).InnerText;
                Console.WriteLine(nomeTime);

                var equipe = new Equipe
                {
                    Url       = urlEquipe,
                    Nome      = nomeTime,
                    Jogadores = new List <Jogador>()
                };
                equipes.Add(equipe);

                var div6 = documentEquipe.GetElementbyId("6");

                var aJogadores = div6.Descendants("a");

                foreach (var aJogador in aJogadores)
                {
                    var strongs = aJogador.Descendants("strong");

                    var linhaInfo   = aJogador.Descendants("table").Single().Descendants("tbody").Single().Descendants("tr").Single();
                    var celulasInfo = linhaInfo.Descendants("td").ToList();

                    equipe.Jogadores.Add(new Jogador
                    {
                        Nome    = strongs.First(s => s.Attributes["class"].Value.Contains("name")).InnerText,
                        Numero  = strongs.First(s => s.Attributes["class"].Value.Contains("number")).InnerText,
                        Posicao = celulasInfo[0].InnerText,
                        Altura  = celulasInfo[1].InnerText,
                        Idade   = celulasInfo[2].InnerText,
                        Url     = aJogador.Attributes["href"].Value
                    });
                }
            }

            return(equipes);
        }
        /// <summary>
        /// Scrapes the page at the given URL to get just the URL to the camera image.
        /// </summary>
        /// <param name="pageUrl">Page URL to scrape</param>
        /// <returns>The direct URL to the camera image.</returns>
        string GetCameraImageUrlFrom(String pageUrl)
        {
            var cameraPageDoc = new HtmlWeb().Load(pageUrl);
            var cameraElem    = cameraPageDoc.GetElementbyId("ILPTrafficCamera");

            return(cameraElem.GetAttributeValue("src", null));
        }
Пример #3
0
        static void GetDependenciesRecursive(ulong id, List <Steamworks.Ugc.Item> dependencies, bool noisy = false)
        {
            var workshopItemWeb = new HtmlWeb().Load($"https://steamcommunity.com/sharedfiles/filedetails/?id={id}");
            var dependencyDiv   = workshopItemWeb.GetElementbyId("RequiredItems");

            if (dependencyDiv == null)
            {
                return;
            }

            foreach (var childDiv in dependencyDiv.ChildNodes.Where(x => x.Name == "a"))
            {
                string dependencyUrl = childDiv.GetAttributeValue("href", "");
                var    match         = Regex.Match(dependencyUrl, STEAM_WORKSHOP_URL_PATTERN);
                ulong  dependencyId  = ulong.Parse(match.Groups[1].Value);

                var dependencyItem = SteamUGC.QueryFileAsync(dependencyId).GetAwaiter().GetResult().Value;

                if (dependencies.Count(x => x.Id == dependencyItem.Id) > 0)
                {
                    continue;
                }

                if (noisy)
                {
                    PrintItemStatus(dependencyItem);
                }

                dependencies.Add(dependencyItem);
                GetDependenciesRecursive(dependencyItem.Id, dependencies, noisy);
            }
        }
Пример #4
0
        override protected IEnumerable <ServerInfo> FetchServers()
        {
            HtmlDocument webpageDocument = new HtmlWeb().Load("http://www.ishadowsocks.com/");
            HtmlNode     serverText      = webpageDocument.GetElementbyId("free");

            return(ServerInfoParser.ReadFromTextMulti(serverText.InnerText, parser));
        }
Пример #5
0
        public async Task AmdCmdAsync()
        {
            var doc    = new HtmlWeb().Load("https://finance.yahoo.com/quote/AMD");
            var header = doc.GetElementbyId("quote-header-info");
            var info   = header.LastChild.FirstChild.FirstChild.ChildNodes.Select(n => n.InnerText).ToList();

            await ReplyAsync($"{(info[0] + "$").Bold()}\n{info[1]}\n{info[2]}").ConfigureAwait(false);
        }
        public SeattleCameraDataService()
        {
            var mapPageUrl = "http://www.wsdot.com/traffic/seattle/default.aspx";
            var mapPageDoc = new HtmlWeb().Load(mapPageUrl);
            var mapElem    = mapPageDoc.GetElementbyId("SeattleNav");

            foreach (var areaNode in mapElem.Elements("area"))
            {
                var title = areaNode.GetAttributeValue("title", null);
                var href  = areaNode.GetAttributeValue("href", null);
                if (title != null && href != null && href.EndsWith("#cam", StringComparison.Ordinal))
                {
                    cameraPages[title] = href;
                }
            }
            SetCameraNames(cameraPages.Keys.ToList());
        }
Пример #7
0
        private static List <string> GetGoogleResults(Question question)
        {
            string  searchDataForGoogle = string.Join("+", question.Text.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries));
            string  searchUrl           = "http://www.google.com/search?q=" + searchDataForGoogle;
            Process chromeProcess       = Process.Start(searchUrl);

            HtmlDocument  htmlDocument   = new HtmlWeb().Load(searchUrl);
            List <string> resultWordList = new List <string>();
            var           searchDiv      = htmlDocument.GetElementbyId("search");

            if (searchDiv != null && searchDiv.FirstChild != null && searchDiv.FirstChild.FirstChild != null && searchDiv.FirstChild.FirstChild.ChildNodes != null)
            {
                var list = searchDiv.FirstChild.FirstChild.ChildNodes;
                foreach (HtmlNode item in list)
                {
                    var headerNode = item.ChildNodes.FirstOrDefault(x => x.Name == "h3");
                    if (headerNode != null)
                    {
                        var headerText = headerNode.InnerText.CleanString().ToLower();
                        var words      = headerText.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                        resultWordList.AddRange(words);
                    }

                    var bodyNode = item.ChildNodes.FirstOrDefault(x => x.Name == "div");
                    if (bodyNode != null)
                    {
                        var bodyTextNode = bodyNode.ChildNodes.FirstOrDefault(x => x.Name == "span");
                        if (bodyTextNode != null)
                        {
                            var bodyText = bodyTextNode.InnerText.CleanString().ToLower();
                            var words    = bodyText.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                            resultWordList.AddRange(words);
                        }
                    }
                }
            }

            return(resultWordList);
        }
Пример #8
0
        // 1. Latin - Don't translate
        // 2. Katakana - Translate to output language
        // 3. Hiragana / Kanji - Translate to phonetic
        public string Translate(string url, List <string> maps = null,
                                List <string> particles        = null,
                                string languagePair            = GoogleRomajiApi.LANGUAGE_PAIR)
        {
            var translation = "";

            switch (Type)
            {
            case TokenType.HiraganaKanji:
            {
                // Get phoentic text
                var doc          = new HtmlWeb().Load(url);
                var phoneticText = WebUtility.HtmlDecode(doc.GetElementbyId("src-translit").InnerText);
                translation = formatTranslation(phoneticText, maps, particles);
                break;
            }

            case TokenType.Katakana:
            {
                // Get translated text
                var doc            = new HtmlWeb().Load(url);
                var translatedText = WebUtility.HtmlDecode(doc.GetElementbyId("result_box").InnerText);
                translation = formatTranslation(translatedText, maps, particles);
                break;
            }

            case TokenType.Latin:
            default:
            {
                translation = formatTranslation(Text, maps, particles);
                break;
            }
            }

            return(translation);
        }
Пример #9
0
    public static string GetPhoneticReading(string text)
    {
        HtmlDocument doc = new HtmlWeb().Load(string.Format(URL, text));

        return(WebUtility.HtmlDecode(doc.GetElementbyId("src-translit").InnerText));
    }
Пример #10
0
    public static string GetTranslation(string text)
    {
        HtmlDocument doc = new HtmlWeb().Load(string.Format(URL, text));

        return(WebUtility.HtmlDecode(doc.GetElementbyId("result_box").InnerText));
    }