惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
量子位
腾讯CDC
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
云风的 BLOG
云风的 BLOG
Vercel News
Vercel News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
The Hacker News
The Hacker News
T
The Exploit Database - CXSecurity.com
B
Blog
S
SegmentFault 最新的问题
P
Privacy & Cybersecurity Law Blog
T
Threatpost
博客园 - 聂微东
T
Tailwind CSS Blog
The Last Watchdog
The Last Watchdog
C
Check Point Blog
N
Netflix TechBlog - Medium
D
DataBreaches.Net
爱范儿
爱范儿
IT之家
IT之家
S
Secure Thoughts
M
MIT News - Artificial intelligence
NISL@THU
NISL@THU
C
Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
有赞技术团队
有赞技术团队
A
Arctic Wolf
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Proofpoint News Feed
Spread Privacy
Spread Privacy
Schneier on Security
Schneier on Security
Simon Willison's Weblog
Simon Willison's Weblog
G
GRAHAM CLULEY
雷峰网
雷峰网
Project Zero
Project Zero
博客园 - Franky
H
Heimdal Security Blog
A
About on SuperTechFans
Security Latest
Security Latest
Webroot Blog
Webroot Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More

博客园 - 随风逝去(叶进)

MySQL分表(Partition)学习研究报告 用WPF+MongoDB开发房产信息收集器(4)——房产信息采集器总体介绍附程序下载 用WPF+MongoDB开发房产信息收集器(3)——MongoDB入门 用WPF+MongoDB开发房产信息收集器(2)——后台线程 解决FireFox不能Debug Silverlight程序的问题 - 随风逝去(叶进) - 博客园 终于可以继续往下了! 回首2008 另类的二级域名实现方法 【更新 2008.10.16】触发C#Button的双击事件 触发C#Button的双击事件 到底要不要去面试? 【C#食谱】【面食】菜单7:用默认值初始化泛型变量 类和对象 【C#食谱】【杭帮菜】菜单2:写一个TCP客户端 C#Winform下用正则表达式限制TextBox只能输入数字 【C#食谱】【杭帮菜】菜单1:写一个TCP服务端 【C#食谱】【川菜】菜单1:列出被引用的程序集 实现需求工程的成功方法 实现需求工程的成功方法——难度:高;影响:低
用WPF+MongoDB开发房产信息收集器(1)
随风逝去(叶进) · 2011-10-23 · via 博客园 - 随风逝去(叶进)

我相信,房子是现在压在众多国人肩上的最大负担。我也是其中一员,我也在关注房子。而我又是一个正在用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不能用/开头。

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