public async Task Get_Html_From_UrlAsync() { var expected = AgilityPackHtml; var result = (await HtmlDownloader.GetHtml(Url)).Text; Assert.AreEqual(expected, result); }
private void ItemsControl_ItemClicked(object sender, RoutedEventArgs e) { if (e.OriginalSource as KinectTileButton != null) { var selectedItem = (e.OriginalSource as KinectTileButton).DataContext as NewsModel; if (selectedItem != null) { new AsyncTask <string, int, string> { onPreExecute = () => { WebBrowserContentViewer.Visibility = Visibility.Hidden; GridLoading.Visibility = Visibility.Visible; (Resources["Loading"] as Storyboard).Begin(); return(true); }, onUpdate = progress => { }, doInBackground = (input, process) => { string result = null; result = HtmlDownloader.byWebClient(input, Encoding.UTF8); return(result); }, onPostExecute = output => { string itemContent = NewsScreenViewModel.AnalyzeArticle(output); WebBrowserContentViewer.NavigateToString(itemContent); (Resources["Loading"] as Storyboard).Stop(); WebBrowserContentViewer.Visibility = Visibility.Visible; GridLoading.Visibility = Visibility.Hidden; } }.Execute(selectedItem.Url); } } }
public List <HostImages> GetImages(string url, int threadCount, int imageCount) { using CancellationTokenSource cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromMinutes(1)); var images = HtmlParser.GetImages(HtmlDownloader.DownloadHtml(url), imageCount, url); try { Parallel.ForEach(images, new ParallelOptions() { MaxDegreeOfParallelism = threadCount, CancellationToken = cancellationTokenSource.Token }, (image) => { new ImageDownloader().DownloadImage(image); }); } catch { //operation cancelled exception// } var hostsImages = images .Where(img => img.Size != long.MinValue) .GroupBy(image => new Uri(image.Src).Host) .Select(imgGroup => new HostImages() { Host = imgGroup.Key, Images = imgGroup.ToList() }) .ToList(); Response.Headers.Add("Operation-result", $"Downloaded {images.Count(img => img.Size != long.MinValue)}/{imageCount} images"); return(hostsImages); }
// POST: api/Aptekas public async Task <IEnumerable <AptekaDrugInfo> > Post([FromBody] AptekasQuery query) { var html = await HtmlDownloader.Download("http://www.medgorodok.ru" + query.Url); var data = MedgorodokParser.Parse(html); return(data); }
public void ParseTest2() { var html = HtmlDownloader.Download("http://www.medgorodok.ru/drugs/aspirin-tabl-500-mg-n10-bajer-bitterfeld-gmbh-germaniya-drugs-21184.html"); html.Wait(); var result = MedgorodokParser.Parse(html.Result); }
public ActionResult ParseTourResult(ParseMatchesResultModel model) { string html = HtmlDownloader.GetHtml(model.Url); string s = new ForecastParser(QueryFactory, log, UnitOfWorkFactory).ParseResult(html); return(View(new ParseMatchesResultModel { Result = s })); }
public CoreHandler(string coresDirectory, string infoDirectory) { _downloader = new HtmlDownloader(); _cores = new List <LocalCore>(); _coresDirectory = coresDirectory; _infoDirectory = infoDirectory; CoreUpdaterSettings settings = ServiceRegistration.Get <ISettingsManager>().Load <CoreUpdaterSettings>(); _baseUrl = settings.BaseUrl; _infoUrl = settings.CoreInfoZipUrl; _unsupportedCores = new HashSet <string>(CoreUpdaterSettings.DEFAULT_UNSUPPORTED); settings.GetPlatformSpecificCoresUrls(out _latestUrl, out _customCoresUrl); }
private async Task SetNameAsync() { if (!(GameObject is Mod mod)) { Text = GameObject.Name; return; } var name = mod.ModInfo?.Name; if (string.IsNullOrEmpty(name)) { var folderName = mod.Directory.Name; switch (mod.Type) { case ModType.Default: name = mod.Directory.Name.Replace('_', ' '); break; case ModType.Workshops when SteamModNamePersister.Instance.TryFind(folderName, out var modName): name = modName; break; case ModType.Workshops: { var doc = await HtmlDownloader.GetSteamModPageDocumentAsync(folderName); name = new WorkshopNameResolver().GetName(doc, folderName); SteamModNamePersister.Instance.AddModName(folderName, name); break; } } } if (string.IsNullOrEmpty(name)) { name = "Unnamed (Failed to resolve)"; } Text = name !; OnPropertyChanged(nameof(Text)); }
public NewsScreenViewModel() { string src = null; switch (NewsCategoryViewModel.SelectedCateGory) { case "WorldNews": new AsyncTask <string, int, string> { onPreExecute = () => true, onUpdate = progress => { }, doInBackground = (input, process) => { string result = null; result = HtmlDownloader.byWebClient(input, Encoding.UTF8); return(result); }, onPostExecute = output => { WorldNews = GetNewsModelList(output); OnPropertyChanged("WorldNews"); } }.Execute("http://www.thanhnien.com.vn/_layouts/newsrss.aspx?Channel=Th%E1%BA%BF+gi%E1%BB%9Bi+tr%E1%BA%BB"); break; case "PoliticNews": new AsyncTask <string, int, string> { onPreExecute = () => true, onUpdate = progress => { }, doInBackground = (input, process) => { string result = null; result = HtmlDownloader.byWebClient(input, Encoding.UTF8); return(result); }, onPostExecute = output => { PoliticNews = GetNewsModelList(output); OnPropertyChanged("PoliticNews"); } }.Execute("http://www.thanhnien.com.vn/_layouts/newsrss.aspx?Channel=Ch%C3%ADnh+tr%E1%BB%8B+-+X%C3%A3+h%E1%BB%99i"); break; case "HealthNews": new AsyncTask <string, int, string> { onPreExecute = () => true, onUpdate = progress => { }, doInBackground = (input, process) => { string result = null; result = HtmlDownloader.byWebClient(input, Encoding.UTF8); return(result); }, onPostExecute = output => { HealthNews = GetNewsModelList(output); OnPropertyChanged("HealthNews"); } }.Execute("http://www.thanhnien.com.vn/_layouts/newsrss.aspx?Channel=S%E1%BB%A9c+kh%E1%BB%8Fe"); break; case "ScienceNews": new AsyncTask <string, int, string> { onPreExecute = () => true, onUpdate = progress => { }, doInBackground = (input, process) => { string result = null; result = HtmlDownloader.byWebClient(input, Encoding.UTF8); return(result); }, onPostExecute = output => { ScienceNews = GetNewsModelList(output); OnPropertyChanged("ScienceNews"); } }.Execute("http://www.thanhnien.com.vn/_layouts/newsrss.aspx?Channel=Khoa+h%E1%BB%8Dc"); break; case "TechNews": new AsyncTask <string, int, string> { onPreExecute = () => true, onUpdate = progress => { }, doInBackground = (input, process) => { string result = null; result = HtmlDownloader.byWebClient(input, Encoding.UTF8); return(result); }, onPostExecute = output => { TechNews = GetNewsModelList(output); OnPropertyChanged("TechNews"); } }.Execute("http://www.thanhnien.com.vn/_layouts/newsrss.aspx?Channel=C%C3%B4ng+ngh%E1%BB%87+th%C3%B4ng+tin"); break; } }