public void Extract() { EntityExtractor <Product> extractor = new EntityExtractor <Product>(); var results = extractor.Extract(new Page(new Request("http://list.jd.com/list.html?cat=9987,653,655&page=2&JL=6_0_0&ms=5#J_main", new Dictionary <string, dynamic> { { "cat", "手机" }, { "cat3", "110" } }) { Site = new Site() }) { Content = File.ReadAllText(Path.Combine(Env.BaseDirectory, "Jd.html")) }); Assert.Equal(60, results.Count); Assert.Equal("手机", results[0].CategoryName); Assert.Equal(110, results[0].CategoryId); Assert.Equal("http://item.jd.com/3031737.html", results[0].Url); Assert.Equal("3031737", results[0].Sku); Assert.Equal("荣耀官方旗舰店", results[0].ShopName); Assert.Equal("荣耀 NOTE 8 4GB+32GB 全网通版 冰河银", results[0].Name); Assert.Equal("1000000904", results[0].VenderId); Assert.Equal("1000000904", results[0].JdzyShopId); Assert.Equal(DateTime.Now.ToString("yyyy-MM-dd"), results[0].RunId.ToString("yyyy-MM-dd")); }
public void Extract() { var entityMetadata = EntitySpider.GenerateEntityDefine(typeof(Product).GetTypeInfo()); EntityExtractor extractor = new EntityExtractor("test", null, entityMetadata); var results = extractor.Extract(new Page(new Request("http://list.jd.com/list.html?cat=9987,653,655&page=2&JL=6_0_0&ms=5#J_main", new Dictionary <string, dynamic> { { "cat", "手机" }, { "cat3", "110" } }), null) { Content = File.ReadAllText(Path.Combine(Core.Environment.BaseDirectory, "Jd.html")) }); Assert.Equal(60, results.Count); Assert.Equal("手机", results[0]["CategoryName"]); Assert.Equal("110", results[0]["CategoryId"]); Assert.Equal("http://item.jd.com/3031737.html", results[0]["Url"]); Assert.Equal("3031737", results[0]["Sku"]); Assert.Equal("荣耀官方旗舰店", results[0]["ShopName"]); Assert.Equal("荣耀 NOTE 8 4GB+32GB 全网通版 冰河银", results[0]["Name"]); Assert.Equal("1000000904", results[0]["VenderId"]); Assert.Equal("1000000904", results[0]["JdzyShopId"]); Assert.Equal(DateTime.Now.ToString("yyyy-MM-dd"), results[0]["RunId"]); }