zoukankan      html  css  js  c++  java
  • 用WPF+MongoDB开发房产信息收集器(1)

    我相信,房子是现在压在众多国人肩上的最大负担。我也是其中一员,我也在关注房子。而我又是一个正在用Silverlight开发项目、正在学习MongoDB的程序员,所以,很自然的我想为我自己,也为众多在关注房子的朋友开发一个“房产信息采集器”。

    房产信息采集器:

    1. 获取房产网站相应的二手房、一手房信息;
    2. 可以让用户自主选择需要下载的区域的房产信息;
    3. 可以过滤重复数据、虚假数据;
    4. 有新信息时可以提醒;
    5. 可以设置是否关注或不感兴趣某一楼盘、某一区域的楼盘;
    6. ......

    今天主要实现了从网站下载、解析数据,并没有将数据保存到数据库。先上图:

    要想从网站上获取房产信息首先要知道从哪里去下载、解析这些数据。

    很简单,现在的每一个网站都有搜索功能,而搜索结果的都是分页的,这些分页都是有规律的,只要找到这个规律,源源不断的数据就有了。 当然,搜索结果的内容只是一个概况,如果要真正解析数据,还必须进入对应房产信息的页面再下载解析。 这些都没有什么技术的难点,就是需要去分析网站的html代码,有点烦而已。各位自己琢磨下就完全OK了。

    这里推荐一个第三方解析下载Html的工具:Html Agility Pack 至于具体怎么用,CodePlex是的Demo我觉得已经说明的很清楚了,各位可以自己看下。

    今天在用这个控件的时候遇到的几个问题跟大家分享下。

    1. 用Html Agility Pack来直接下载解析网站的时候会遇到中文乱码的问题。 我用的方法是用HttpWebRequest来下载网页的内容,返回一个Stream。
      1 HttpWebRequest req = WebRequest.Create(new Uri(url)) as HttpWebRequest; 
      2 req.Method = "GET";
      3 WebResponse rs = req.GetResponse();
      4 Stream rss = rs.GetResponseStream();
      5 return rss;
      然后再用HtmlAgilityPack。后面的解析都是使用HtmlAgilityPack进行的。
    2. XPath的路径问题,/开头的XPath路径表示是从根目录开始的。所以无论你想从一个已经选择好了的HtmlNode下获取其子节点,注意XPath不能用/开头。

    今天只是开始,我会坚持下去,一直完成、完善这个工具的。如果各位有什么意见或者感觉需要添加的功能,在下感激不尽。

    汇聚杭州外卖:外卖汇
  • 相关阅读:
    计算机网络
    RedHat 7本地yum源的配置
    linux 查看电脑信息
    liunx下的网络配置
    缺陷是什么
    linux下的yum的安装和配置
    软件测试术语总结
    Loadrunner相关流程
    防火墙的相关概念
    软件测试W模型
  • 原文地址:https://www.cnblogs.com/adaiye/p/2222147.html
Copyright © 2011-2022 走看看