五一前后一直在忙安卓的东西,直到现在终于有机会喘口气了,于是就抽空写了这篇博文,来记录我之前学习MVC一周后所写的小例子:搜索淘宝商品并对商品进行价格筛选。

先上开始界面:

这个界面的源码如下:

@{ViewBag.Title = "主页";
}<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script><script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>@using (Html.BeginForm()) {<fieldset><legend>Search</legend><div id ="editor-field"><p>搜索商品 @Html.TextBox("keyword")</p> <p>价格上限 @Html.TextBox("max")</p><p>价格下限 @Html.TextBox("min")</p></div></fieldset><p><input type="submit" value="Search" /></p>
}

值得注意的是我标为红色的代码,TextBox提供用户输入,并且提交用户输入,括号里的"keyword"是用来标识所提交的内容,方便我们从提交的表单中提取出用户的输入。
      然后就是我们的主程序:

 public class HomeController : Controller{string keyword;double max;double min;//// POST: /Index/public ActionResult Index(FormCollection values){keyword = values["keyword"];if (values["max"] != null){max = double.Parse(values["max"]);}if (values["min"] != null){min = double.Parse(values["min"]);}if (keyword == null){return View();}else{List<Goods> goodsList = new List<Goods>();GoodsInformation information = new GoodsInformation(keyword, max, min);List<string> imgs = information.getImg();List<string> hrefs = information.getHref();List<string> prices = information.getPrice();for (int i = 0, len = prices.Count; i < len; i++){Goods goods = new Goods();goods.Imge = imgs.ElementAt(i);goods.href = hrefs.ElementAt(i );goods.Name = keyword;goods.Price = double.Parse(prices.ElementAt(i));goodsList.Add(goods);}return View("Search", "_Layout", goodsList);}}}

注意Index操作的参数,也就是我标为红色的部分,它说明我们这个操作是提取所POST的表单并进行处理,所以最好注释说明这是一个POST请求。

我们提交的表单其实就是键值对的集合,当然,我们在使用的时候,必须注意非空的判断,因为用户可能什么也没输入就提交了。这里我还没有使用验证,当用户没有输入关键字,就会重新显示搜索界面。如果用户输入相关信息并且提交,就会跳转到另一个View---Search。

我们来输入一些关键字吧!

看看我们的搜索结果是怎样的:

抱歉,由于我没有时间对显示的界面进行排版,所以暂时无法提供完整的商品列表,只好截取出一部分出来。

嗯,MG 独角兽还是相对较贵的。

Search的view的源码如:

@model List<TaoBaoShop.Models.Goods>@{ViewBag.Title = "搜索";
}
<h3>搜索 @Model.ElementAt(0).Name 的结果列表:</h3>
<ul>@foreach (var m in Model){ <li><a href="@m.href"><span><img alt="@m.Name" src="@m.Imge"/></span><br /><span>总价:@m.Price</span></a><br /><br /></li>}</ul>    

我们在操作中传递一个模型给相应的视图,然后就可以在视图中使用该模型。
      我们的商品列表的界面是根据价格进行排列的,这样的实现并不难,只要在提取商品价格西信息的同时进行排序就可以了。

要想呈现商品列表,最主要的部分就是商品信息的提取:

string handleUrl(string content){string strHtml = "";WebResponse wrp = null;try{WebRequest wrq = WebRequest.Create(content);wrp = wrq.GetResponse();}catch (WebException e){throw e;}catch (Exception e){throw e;}finally{if (wrp != null){StreamReader sr = new StreamReader(wrp.GetResponseStream(), Encoding.GetEncoding("gbk"));strHtml += sr.ReadToEnd();sr.Close();wrp.Close();}else{mIsLeft = false;}}return strHtml;}

得到淘宝网页内容后,就是利用正则表达式对商品信息进行提取了。
      例子非常简单,还请各位见笑。

转载于:https://www.cnblogs.com/wenjiang/archive/2013/05/06/3062918.html

MVC入门小示例---淘宝商品的搜索和价格筛选相关推荐

  1. 淘宝商品详情API接口、获得淘宝商品详情接口调用示例

    淘宝详情接口可以通过商品ID提取商品详情页各项数据,包含商品标题,skuid.价格.优惠价,收藏数.下单人数.月销售量.SKU图.标题.详情页图片等页面上有的数据均可以拿到,大家都知道,淘宝的反爬虫机 ...

  2. 使用selenium自动秒抢淘宝商品(附详细入门指南)

    使用selenium自动秒抢淘宝商品(附详细入门指南) 转:https://www.liangzl.com/get-article-detail-207822.html Python大数据分析 记录  ...

  3. 电商API分享:获取淘宝商品历史价格api调用示例 参数说明

    在网络购物中,TAO宝是相信许多人的首选平台之一,而对于一个谨慎的购物者来说,价格的变化是非常重要的.所以获取淘宝商品历史价格,可以帮助购物者更好地作出决策,实现理性消费.获取淘宝商品历史价格主要能帮 ...

  4. 微信小程序仿京东淘宝商品排序

    微信小程序仿京东淘宝商品排序 效果图如下所示 仿京东微信小程序视频请加QQ:1010753897 下载地址:https://download.csdn.net/download/qq_43764578 ...

  5. API接口示例,淘宝商品详情接口(调用测试,数据获取)

    API,它的全称是Application Programming Interface--应用程序编程接口,是一组指令.标准或要求,使软件或应用程序可以利用另一应用程序.平台或设备的功能/服务来获得更好 ...

  6. Python爬虫入门实例五之淘宝商品信息定向爬取(优化版)

    文章目录 写在前面 一.爬取原页面 二.编程思路 1.功能描述 2.程序的结构设计 三.编程过程 1.解决翻页问题 2.编写getHTMLText()函数 3.编写parsePage()函数 (1). ...

  7. 淘宝/天猫关键词搜索采集接口分析商品价格走势(商品列表,商品销量,商品价格,分类ID采集精准商品数据)接口代码对接流程

    淘宝/天猫关键词搜索采集接口分析商品价格走势(商品列表,商品销量,商品价格)接口代码对接流程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) key String ...

  8. 首选电商淘宝商品详情API接口(数据获取)

    API接口是什么?         API API全称是:Application Programming Interface,即:应用程序接口.开发人员可以使用这些API接口进行编程开发,而又无需访问 ...

  9. 淘宝商品详情接口,淘宝详情页接口,宝贝详情页接口,商品属性接口,商品信息查询,商品详细信息接口,h5详情,淘宝APP详情

    一.接口参数说明: 提取淘宝商品详情页各项数据,包含skuid.价格.收藏数.加购数.月销售量.主图.标题.详情页图片,点击获取请求key和secret 二.建议使用场景 1.商品销售情况分析,根据销 ...

  10. 淘宝/天猫API接口,获得淘宝商品详情高级版

    淘宝/天猫获得淘宝商品详情高级版 API 返回值说明      立即测试 item_get_pro-获得淘宝商品详情高级版 公共参数 请求地址: https://console.open.onebou ...

最新文章

  1. c语言中isnarc变量,C语言 二级 1-40上机模拟试题答案.doc
  2. 电脑如何测网速_Macbook Pro怎么查看网速Mac怎么测网速?
  3. ld: -pie can only be used when targeting iOS 4.2 or later clang: error: linker command failed with e
  4. 列表解析python_基于Python列表解析(列表推导式)
  5. 【原创】MapReduce实战(一)
  6. 集成产品开发(IPD)初探
  7. malloc分配的内存空间是连续的吗
  8. 语言(文化)代码与国家地区对照表,各国手机号正则
  9. C语言SM2算法实现(基于GMSSL)
  10. 路飞学城Python-Day49
  11. iOS的崩溃率高于Android?来自听云的数据告诉你真相
  12. 一款专为APP设计的后台管理系统平台
  13. Java-用类描述人之间的血缘关系
  14. 【办公类-16-01-01】“机动班下午代班的排班表”(python 排班表系列)
  15. 【网络工程师】<软考中级>网络互联与互联网
  16. docker构建国内镜像服务
  17. 砸金蛋java代码_java实现砸金蛋抽奖功能
  18. SQL 语法(超级详细)
  19. JAI LT-400CL相机设置
  20. 7-117 数字加密 (15 分)

热门文章

  1. 【多任务】如何利用多任务学习提升模型性能?
  2. 【号外】来人鸭~ 本公众号招人啦~
  3. 【Linux】10个帮助你调试的命令
  4. 【机器学习】决策树的理论与实践
  5. 读《scikiit-learn机器学习》逻辑回归算法
  6. 基于DEAP库的python进化算法--遗传算法实践--背包问题
  7. torch.max;PyTorch中 tensor.detach() 和 tensor.data 的区别;
  8. MySQL必知必会(二)
  9. Python基本的数据结构-序列
  10. Netty in action—Netty传输服务