//public static string Convert(this Encoding sourceEncoding, Encoding targetEncoding, string value) //{ // string reEncodedString = null; // byte[] sourceBytes = sourceEncoding.GetBytes(value); // byte[] targetBytes = Encoding.Convert(sourceEncoding, targetEncoding, sourceBytes); // reEncodedString = sourceEncoding.GetString(targetBytes); // return reEncodedString; //} public void DownloadImage(BegemotProduct bproduct, Uri imageUri = null) { PageLoader pageLoader = new PageLoader(); string uri = null; if (imageUri == null) { uri = string.Format(ImageUrlFormat, bproduct.Article); } else { uri = imageUri.ToString(); } string savePath = bproduct.GenerateImagePath(); try { pageLoader.RequestImage(uri, savePath); bproduct.ImagePath = savePath; } catch (WebException we) { bproduct.SetNoImage(); } }
public void DownloadDescription(BegemotProduct product) { PageLoader pageLoader = new PageLoader(); string uri = string.Format(DescriptionUrlFormat, product.Code); try { // uri = "http://krsk.24au.ru/2365348/"; var response = pageLoader.RequestsHtml(uri, decompress: true); var doc = new HtmlDocument(); doc.LoadHtml(response.Html); var titleHeader = doc.DocumentNode.NodeByXpath("/html/body/table/tr/td/table[1]/tr/td/table/tr/td[4]/div[2]/h1"); product.Title = titleHeader.InnerText.Trim(); bool contains = doc.DocumentNode.InnerHtml.Contains("<b>ќписание:</b>"); if (contains) { var descHeader = doc.DocumentNode.NodeByXpath( "/html/body/table/tr/td/table[1]/tr/td/table/tr/td[4]/div[2]/div[2]/b"); var nodes = descHeader.ParentNode.ChildNodes; var indexHeader = nodes.IndexOf(descHeader); var descNode = nodes[indexHeader + 1]; var innerText = descNode.InnerText.Trim(); product.Descrption = innerText; } else { product.SetNoDescrption(); } } catch (WebException we) { product.SetNoDescrption(); } }