京东商城商品价格获取地址.docVIP

  • 14
  • 0
  • 约1.23万字
  • 约 9页
  • 2016-12-18 发布于湖北
  • 举报
东商城商品价格获取方法 在我看来,现在电子商务市场做得最红火的两个网站,当属于淘宝和京东了,淘宝对我们来说又太杂了,而京东往往是我们最关注的电子商务网站! 在易淘事件过后,京东国美等网购商城的价格往往成为人们非常关注的问题,为了防止易淘的扒取数据,他们的价格都做成了图片的格式。 在此之前我已经写过了一个?简单图片识别的技术博客,其中我提出了一种获取京东商城价格的方法,今天我针对京东商城的价格专门做了研究,找到了三种方式来解决这个问题。 第一,上次的图片识别的方法 第二,利用Cookie的方法 第三,通过京东手机商城的页面获取 具体的见程序源代码就可以了 using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Net; using System.Web; using HtmlAgilityPack; using System.Text.RegularExpressions; using System.IO; namespace Pmars { class JingDong { //得到京东页面的编码格式 static Encoding encoding = Encoding.GetEncoding(gb2312); //如果知道某件商品的ID,我们如何得到这件商品的价格 public static double GetPrice(string id) { double price = 0; //第一种方式 //详细查看以前发过的图片识别的博客,利用识别京东价格图片的方法去获得商品的价格 price = GetPriceByImage(id); //第二种方式 //虽然京东的价格被做成了图片的模式,但是,在购物车或者在结算的时候的价格不是图片的 //这样我们就可以想办法得到那里的价格就可以了 //实验证明,在获得购物车或者结算时的页面需要cookie //那么,我们可以去下载另一个页面,之后记录cookie就可以解决问题了 //这里,定义一个类去继承WebClient,用来记录前后的cookie price = GetPriceByCookie(id); //第三种方式 //虽然京东在价格上做了很多的手脚,但是我们可以变相的采用其他的方式来处理 //比如,我们发现,京东有手机商城,这样,我们在手机商场上做了查看 //发现,手机商城根本就不用Cookie,而是直接下载页面就可以得到数据 //好吧,看下面的程序就可以了 price = GetPriceByMobile(id); return price; } private static double GetPriceByImage(string id) { //京东的商品的Id是独一无二的,也就是说,每个Id标示了一件商品的内容页 //得到京东商品的下载页面 string downUrl = /product/+id+.html; //下载京东的商品内容页面,主要是为了下载图片 byte[] bytes = new WebClient().DownloadData(downUrl); //通过编码得到页面的内容string,用HttpUtility.HtmlDecode解码 string content = HttpUtility.HtmlDecode(encoding.GetString(bytes)); //利用HtmlAgilityPack来加载分析Html页面内容 HtmlDocument htmlDoc = new HtmlDocument();

文档评论(0)

1亿VIP精品文档

相关文档