最近雙十一,雙十二,促銷多的眼花繚亂,領了n多優惠卷,為了合理湊單實在是浪費了好多時間。
於是這幾天寫了一個小工具,可以分析優惠卷湊單頁里所有商品都參加哪些活動,這樣能節約我們湊單的時間。
可以快速找到 2件5折 又同時參加 199-100 活動的商品

這樣就可以開心的剁手啦
這里我借鑒了很多前輩的經驗
大神1:http://www.cnblogs.com/asxinyu/p/CSharp_HtmlAgilityPack_XPath_Weather_Data.html
大神2:https://www.cnblogs.com/jjg0519/p/6702833.html
大神3:https://www.cnblogs.com/cpcpc/archive/2012/09/10/2679098.html
大神4:https://blog.csdn.net/xing851483876/article/details/80817578
大神5:http://www.cnblogs.com/xxue/p/9977801.html
然后整理了一下各位大神的代碼,寫出這個小軟件。
編碼很多年,水平實在抱歉。
這個是獲取優惠頁最大頁數。
public int getMaxpage(string htmlstr)
{
int maxpage = 0;
try
{
string html = htmlstr;
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
string goodClass = "//div[@id='J_topPage']";
//string goodClass = @"//*[@class='gl-item']/dl/dd";
HtmlNodeCollection noneNodeList = doc.DocumentNode.SelectNodes(goodClass);
foreach (var node in noneNodeList)
{
JDspxx jdspxx = new JDspxx();
HtmlDocument docChild = new HtmlDocument();
docChild.LoadHtml(node.OuterHtml);
var dc = docChild.DocumentNode.SelectSingleNode("//i");
maxpage = int.Parse(dc.InnerText);
}
return maxpage;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return maxpage;
}
這個是獲取商品信息
public List<JDspxx> reHtml(string htmlstr)
{
List<JDspxx> jdlist = new List<JDspxx>();
try
{
string html = htmlstr;
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
string goodClass = "//li[@class='gl-item']";
//string goodClass = @"//*[@class='gl-item']/dl/dd";
HtmlNodeCollection noneNodeList = doc.DocumentNode.SelectNodes(goodClass);
foreach (var node in noneNodeList)
{
JDspxx jdspxx = new JDspxx();
HtmlDocument docChild = new HtmlDocument();
docChild.LoadHtml(node.OuterHtml);
string spmc = "//div[@class='p-name p-name-type-2']";
HtmlNodeCollection listspmc = docChild.DocumentNode.SelectNodes(spmc);
{
HtmlDocument docChild1 = new HtmlDocument();
docChild1.LoadHtml(listspmc[0].OuterHtml);
jdspxx.url = listspmc[0].ChildNodes[1].Attributes["href"].Value;
var dc = docChild1.DocumentNode.SelectSingleNode("//em");
jdspxx.spmc = dc.InnerText;
}
string price = "//div[@class='p-price']";
HtmlNodeCollection listprice = docChild.DocumentNode.SelectNodes(price);
{
HtmlDocument docChild1 = new HtmlDocument();
docChild1.LoadHtml(listprice[0].OuterHtml);
var dc = docChild1.DocumentNode.SelectSingleNode("//i");
jdspxx.price = dc.InnerText;
}
string yhxx = "//div[@class='p-icons']";
HtmlNodeCollection listyhxx = docChild.DocumentNode.SelectNodes(yhxx);
{
HtmlDocument docChild1 = new HtmlDocument();
docChild1.LoadHtml(listyhxx[0].OuterHtml);
var dclist = docChild1.DocumentNode.SelectNodes("//i");
List<Yhxx> yhlist = new List<Yhxx>();
if (dclist != null)
{
foreach (var dc in dclist)
{
Yhxx yh = new Yhxx();
yh.yh = dc.InnerText;
yhlist.Add(yh);
if (!Yhmc.yhmc.Contains(dc.InnerText))
{
Yhmc.yhmc.Add(dc.InnerText);
}
}
}
jdspxx.yhlist = yhlist;
}
jdlist.Add(jdspxx);
}
return jdlist;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return jdlist;
}
軟件下載地址
鏈接: https://pan.baidu.com/s/1p-kV0w11PpA6jNjsjhwEfw 提取碼: c5gu
