public string getUrl(CityResult cityResult) { string url = ""; string baseUrl = "https://www.thefork.de/search/?coordinates="; string lat = cityResult.Latitude; string lon = cityResult.Longitude; url = baseUrl + lon + "," + lat; return(url); }
private void ListCityResult_SelectionChanged(object sender, SelectionChangedEventArgs e) { var crListView = sender as ListView; UserSelectedCityResult = crListView.SelectedItem as CityResult; crListView.Visibility = Visibility.Collapsed; var cityKey = UserSelectedCityResult.ID; var w = wd.GetWeatherFor5Days(cityKey); foreach (var res in w) { WeatherResults.Add(res); } var wListView = sender as ListView; Weather = wListView.SelectedItem as WeatherResult; ListWeatherResult.Visibility = Visibility.Visible; }
public ObservableCollection <CafeResult> GetCafeResult(CityResult cityResult) { var cafeResult = new ObservableCollection <CafeResult>(); var testURL = getUrl(cityResult); // var testURL = getUrl(new CityResult() { Latitude = "48.220778", Longitude = "16.3100205" }); var wc = new GZipWebClient(); wc.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.60"); wc.Headers.Add("Accept-Language", "en-US,en;q=0.9"); wc.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"); wc.Headers.Add("Accept-Encoding", "gzip"); var test = wc.DownloadString(testURL); var htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(test); string typeXpath = "//span[@class = 'enrzupw0 css-1ujxl3z ejesmtr0']"; // string nameXpath = "//a[@class = 'css-1lxw1q9 ejesmtr0']"; string nameXpath = "//div[@class = 'css-aycukd e6vs4hd0']/div/h2/a"; string addressExpath = "//p[@class = 'css-axj1nn ejesmtr0']"; string avPriceXpath = "//p[@class = 'css-a7e1wa ejesmtr0']/span[2]"; string rateXpath = "//span[@class = 'css-17f8ytt e1l48fgb0']/span[1]"; for (int i = 0; i < 5; i++) { var type = htmlDoc.DocumentNode.SelectNodes(typeXpath)[i].InnerText; var name = htmlDoc.DocumentNode.SelectNodes(nameXpath)[i].InnerText; var address = htmlDoc.DocumentNode.SelectNodes(addressExpath)[i].InnerText; var averagePrice = htmlDoc.DocumentNode.SelectNodes(avPriceXpath)[i].InnerText; var rate = htmlDoc.DocumentNode.SelectNodes(rateXpath)[i].InnerText; cafeResult.Add(new CafeResult(type, name, address, averagePrice, rate)); } //var link = htmlDoc.DocumentNode.SelectSingleNode("//span[@class = 'enrzupw0 css-1ujxl3z ejesmtr0']").InnerText; return(cafeResult); }