using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using HtmlAgilityPack;
namespace HtmlAgilityPack_Demo
{
class Program
{
static void Main(string[] args)
{
string url = "https://item.taobao.com/item.htm?id=596828603840&ali_refid=a3_430673_1006:1227160187:N:emtiAWsF8%2Bzhhxaiwzc0Aw%3D%3D:ed5644f95c04e62ff4b1f919215290aa&ali_trackid=1_ed5644f95c04e62ff4b1f919215290aa&spm=a2e15.8261149.07626516002.49";
// string url = "https://detail.tmall.com/item.htm?id=587305902397&ali_refid=a3_430673_1006:1164970153:N:emtiAWsF8+zhhxaiwzc0Aw==:52178689a3b6bcdeaeac2870d4ae3cac&ali_trackid=1_52178689a3b6bcdeaeac2870d4ae3cac&spm=a2e15.8261149.07626516002.43";
HtmlWeb web = new HtmlWeb();
web.OverrideEncoding = Encoding.GetEncoding("gb2312");
//从url中加载
HtmlDocument doc = web.Load(url);
//获得标题标签节点
string tNode = url.Contains("taobao") ? "//div[@id='J_Title']/h3" : "//div[@id='J_DetailMeta']/div/div/div/div/h1";
HtmlNode titleNode = doc.DocumentNode.SelectSingleNode(tNode);
string titleTxt = titleNode == null ? "" : titleNode.InnerText;
titleTxt = titleTxt.Replace("\r", "").Replace("\t", "").Replace("\n", "").Replace("\br", "").Trim();
Console.WriteLine("标题:" + titleTxt);
string pNode = url.Contains("taobao") ? "//strong[@id='J_StrPrice']/em[2]" : "//dl[@id='J_StrPriceModBox']/dd/span";
//获得价格标签节点
HtmlNode priceNode = doc.DocumentNode.SelectSingleNode(pNode);
string priceTxt = priceNode == null ? "0" : priceNode.InnerText;
Console.WriteLine("价格:" + priceTxt);
//获得图片标签节点
HtmlNode headImgNode = doc.DocumentNode.SelectSingleNode("//img[@id='J_ImgBooth']");
string imgUrl = headImgNode == null ? "" : headImgNode.Attributes["src"].Value;
imgUrl = !imgUrl.Contains("http") ? ("https:" + imgUrl) : imgUrl.IndexOf('h')>0? imgUrl.Substring(imgUrl.IndexOf('h')): imgUrl;
Console.WriteLine("图片:" + imgUrl);
//WebRequest wreq = WebRequest.Create(imgUrl);
//HttpWebResponse wresp = (HttpWebResponse)wreq.GetResponse();
//Stream s = wresp.GetResponseStream();
//string filename = "E:\\cwf_Demo\\HtmlAgilityPack_Demo\\img1\\" + DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".jpg";
//System.Drawing.Image img;
//img = System.Drawing.Image.FromStream(s);
//img.Save(filename); //保存
Console.ReadKey();
}
}
}