Exemple #1
0
        public List <BarData> GetBarsAround(string latitude, string longitude, string radius)
        {
            RegexTools.LocationDataTextIsCorrect(latitude, longitude, radius);
            var venueList = GetBarData(latitude, longitude, radius);
            var barList   = VenueListToBarList(venueList, radius);

            return(barList);
        }
Exemple #2
0
        public async Task <List <BarData> > GetBarsAroundAsync(string latitude, string longitude, string radius)
        {
            RegexTools.LocationDataTextIsCorrect(latitude, longitude, radius);
            var venueList = await GetBarDataAsync(latitude, longitude, radius);

            var barList = VenueListToBarList(venueList, radius);

            return(barList);
        }
        private async Task <List <Place> > GetBarDataAsync(string latitude, string longitude, string radius)
        {
            RegexTools.LocationDataTextIsCorrect(latitude, longitude, radius);
            var link       = string.Format(_apiLink, _accessToken, latitude, longitude, radius, _requestedFields, _category);
            var jsonStream = await _fetcher.GetHttpStreamAsync(link);

            var barList = JsonConvert.DeserializeObject <PlacesResponse>(jsonStream).data;

            return(barList);
        }
        public void RemoveBarsOutsideRadius(string radius)
        {
            RegexTools.RadiusTextIsCorrect(radius);
            var numRadius    = double.Parse(radius, CultureInfo.InvariantCulture);
            var barsToRemove = new List <BarData>(_maxSameBarDistanceErrorThresholdMeters);

            barsToRemove.AddRange(this.Where(bar => bar.DistanceToCurrentLocation > numRadius));
            foreach (var bar in barsToRemove)
            {
                this.Remove(bar);
            }
        }
        static void Main(string[] args)
        {
            Console.WriteLine("WEB SCRAPING – COMO FAZER COLETA DE DADOS WEB?");
            // DEFINIÇÕES DE PESQUISA NO DOCUMENTO
            String paginaWeb          = DownloadWebPageString.Run("https://pt.stackoverflow.com/questions/302606/");
            String regularExpression  = "<span itemprop=\"upvoteCount\" class=\"vote-count-post \">\\d+</span>"; // ENCONTRA NA STRING NÚMEROS DECIMAIS USANDO A EXPRESSÃO REGULAR: \d+
            String replaceClearFirst  = "<span itemprop=\"upvoteCount\" class=\"vote-count-post \">";            // DEFINE O INÍCIO DO TEXTO PARA APAGAR
            String replaceClearSecond = "</span>";                                                               // DEFINE O FINAL DO TEXTO PARA APAGAR

            // OBTENDO OS DADOS
            RegexTools regexTools = new RegexTools();

            regexTools.NewDocument(paginaWeb);                                                            // CARREGANDO O REGEXTOOLS COM O DOCUMENTO
            String countVotes = regexTools.Run(regularExpression, replaceClearFirst, replaceClearSecond); // OBTEMOS A QUANTIDADE DE VOTOS.

            Console.WriteLine("Quantidade de votos: " + countVotes);
            Console.ReadKey();
        }
Exemple #6
0
        /// <summary>
        /// Parse command line arguments
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        static CommandLineOptions ProcessCommandLine(string[] args)
        {
            CommandLineOptions   myArgs = new CommandLineOptions();
            CommandLineArguments parser = new CommandLineArguments();

            AddParameters(parser);

            try
            {
                parser.Parse(args, myArgs);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine("\nException while processing command line arguments [{0}]", e.Message);
                Environment.Exit(-1);
            }

            if (myArgs.Help)
            {
                const string helpString = "Usage: SeqcosDiscarderUtil.exe [options] <input file> <output file>\n"
                                          + "\nDescription: Discard reads based on length (option -l) or quality (-q).\n"
                                          + "\n\n/Help (/h)\n  Show this Help information"
                                          + "\n\n/Verbose (/v)\n  Display more information"
                                          + "\n\n/DiscardedFile:<String> (/D)\n  Filename to store discarded reads [optional]."
                                          + "\n\n*** Discard modes ***"
                                          + "\n\n/DiscardByLength:<INT > 0> (/l)\n  Discard reads with length less than INT."
                                          + "\n\n/DiscardByQuality:<INT > 0> (/q)\n  Discard reads with mean Phred-based quality score less than INT."
                                          + "\n\n/DiscardByRegex:<Pattern> (/r)\n  Discard reads based a .NET Framework regular expression pattern. "
                                          + "For more information on .NET supported regular expressions, please visit: http://msdn.microsoft.com/en-us/library/az24scfc.aspx"
                ;
                Console.WriteLine(helpString);
                Environment.Exit(-1);
            }

            // Process all the arguments
            if (!File.Exists(myArgs.FileList[0]))
            {
                Console.Error.WriteLine("Error: The file {0} could not be found.", myArgs.FileList[0]);
                Environment.Exit(-1);
            }

            if ((myArgs.FileList == null) || (myArgs.FileList.Length < 2))
            {
                Console.Error.WriteLine("Error: Must specify an input and output file.");
                Environment.Exit(-1);
            }

            if ((myArgs.DiscardByLength == 0 && myArgs.DiscardByQuality == 0) || (myArgs.DiscardByLength > 0 && myArgs.DiscardByQuality > 0))
            {
                Console.Error.WriteLine("Error: You must choose either -l or -q discard modes.");
                Environment.Exit(-1);
            }

            if (myArgs.DiscardByRegex != null && !RegexTools.IsValidRegexPattern(myArgs.DiscardByRegex))
            {
                Console.Error.WriteLine("Error: unable to verify your regular expression pattern.");
                Environment.Exit(-1);
            }

            return(myArgs);
        }
Exemple #7
0
        /// <summary>
        /// Parse command line arguments
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        static CommandLineOptions ProcessCommandLine(string[] args)
        {
            CommandLineOptions   myArgs = new CommandLineOptions();
            CommandLineArguments parser = new CommandLineArguments();

            AddParameters(parser);

            try
            {
                parser.Parse(args, myArgs);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine("\nException while processing command line arguments [{0}]", e.Message);
                Environment.Exit(-1);
            }

            if (myArgs.Help)
            {
                const string helpString = "Usage: SeqcosTrimmerUtil.exe [options] <input file> <output file>\n"
                                          + "\nDescription: Trim reads based on length (use option -l) or quality (use option -q and optionally -l).\n"
                                          + "\n/Help (/h)\n  Show this Help information"
                                          + "\n/Verbose (/v)\n  Display more information"
                                          + "\n\n*** Trim modes ***"
                                          + "\n\n/TrimByLength:<INT > 0> (/l)\n  Minimum length that reads will be trimmed to. Reads whose original length is less than INT will not be discarded."
                                          + "\n\n/TrimByQuality:<INT > 0> (/q)\n  Minimum Phred-based quality score that reads will be trimmed to. Trimming is done by finding the subsequence whose "
                                          + "sum of differences between base quality score and cutoff is maximized. If a subsequence cannot be found due to poor quality, the entire read will be "
                                          + "discarded. \n\n  Can be combined with /l option to set a minimum trimming length (e.g. if '/q 15 /l 10', any read that gets trimmed to a length less than "
                                          + "10 will be discarded."
                                          + "\n\n/TrimByRegex:<Pattern> (/r)\n  Trim reads based on a .NET Framework regular expression pattern. Any matches found, will be stripped from the sequence. "
                                          + "For more information on .NET supported regular expressions, please visit: http://msdn.microsoft.com/en-us/library/az24scfc.aspx"
                                          + "\n\n*** Trim options ***\n"
                                          + "\n\n/Left (/L)\n  When combined with /l, trimming occurs from the beginning of the read. When combined with /q, "
                                          + "trimming occurs at both ends of the read. For both modes, this option is OFF (i.e. only trim from right side)."
                                          + "\n\n/DiscardedFilename:<String> (/D)\n  Filename to store discarded reads [optional]."
                ;
                Console.WriteLine(helpString);
                Environment.Exit(-1);
            }

            // Process all the arguments
            if (!File.Exists(myArgs.InputFile))
            {
                Console.Error.WriteLine("Error: The file {0} could not be found.", myArgs.InputFile);
                Environment.Exit(-1);
            }

            if (myArgs.TrimByLength == 0 && myArgs.TrimByQuality == 0 && myArgs.TrimByRegex != null)
            {
                Console.Error.WriteLine("You must choose a trim mode.");
                Environment.Exit(-1);
            }
            if (myArgs.TrimByLength < 0)
            {
                Console.Error.WriteLine("Trim length must be greater than zero");
                Environment.Exit(-1);
            }
            if (myArgs.TrimByQuality < 0)
            {
                Console.Error.WriteLine("Quality score threshold must be greater than zero");
                Environment.Exit(-1);
            }

            if (myArgs.TrimByRegex != null && !RegexTools.IsValidRegexPattern(myArgs.TrimByRegex))
            {
                Console.Error.WriteLine("Error: unable to verify your regular expression pattern.");
                Environment.Exit(-1);
            }

            return(myArgs);
        }