<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_沈逸的专栏</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/37583/rss</id><updated>2011-07-04T09:22:33Z</updated><author><name>沈逸</name><uri>http://www.cnblogs.com/shenyisyn/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/shenyisyn/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/37583/rss"/><entry><id>http://www.cnblogs.com/shenyisyn/archive/2011/07/04/2097607.html</id><title type="text">从网页中分析正文探讨(一)</title><summary type="text">做网站的朋友们不免都会涉及到要从其他网站抓取一些信息。 1. 常用的办法是用正则表达式来获取  优点：比较精准，一蹴而就，不会遗漏你需要的内容 缺点：全中国这么多网页，如果写正则表达式要写到发疯！ 如果目标网页一旦改版就要重新写正则表达式，人工排查工作太大。2. 我们要讨论的是是否能自动分析网页正文 （标题在下一章节讲）  有两个思路 第一是：关键字匹配法(本次主要讲述此方法，仅思路，因商业原因不提供源代码)  第二个是：文本区域获取法</summary><published>2011-07-04T09:23:00Z</published><updated>2011-07-04T09:23:00Z</updated><author><name>沈逸</name><uri>http://www.cnblogs.com/shenyisyn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/shenyisyn/archive/2011/07/04/2097607.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/shenyisyn/archive/2011/07/04/2097607.html"/><content type="html">&lt;div&gt;做网站的朋友们不免都会涉及到要从其他网站抓取一些信息。&lt;p&gt;1. 常用的办法是用正则表达式来获取&lt;br /&gt;&lt;/p&gt;&lt;p&gt;优点：比较精准，一蹴而就，不会遗漏你需要的内容&lt;/p&gt;&lt;p&gt;缺点：全中国这么多网页，如果写正则表达式要写到发疯！ 如果目标网页一旦改版就要重新写正则表达式，人工排查工作太大。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2. 我们要讨论的是是否能自动分析网页正文 （标题在下一章节讲）&lt;/p&gt;&lt;p&gt;有两个思路 第一是：关键字匹配法(本次主要讲述此方法，仅思路，因商业原因不提供源代码)&amp;nbsp; 第二个是：文本区域获取法&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp; 关键字匹配法&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt; 每个新闻页面都充斥着大量的文字要素，干扰因素非常多，本人查阅了很多关于分析正文的文章，很复杂，不适合我们草根程序员使用，而且算法完成后精确度不怎么样，效率也不是很高。于是个人山寨了一个关键字匹配法.&lt;/p&gt;&lt;p&gt;准备工作 ： &lt;br /&gt;&lt;/p&gt;&lt;p&gt;1.准备一个分词类库 这里使用的是 shotseg 1.0&amp;nbsp;&amp;nbsp; 效果很一般 但是还可以用用了。&lt;/p&gt;&lt;p&gt;2.稍微看一下&amp;nbsp; tf-idf  的概念(TF-IDF是一种统计方法，用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正 比增加，但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜索引擎应用，作为文件与用户查询之间相关程度的度量或评级。除 了TF-IDF以外，互联网上的搜寻引擎还会使用基于连结分析的评级方法，以确定文件在搜寻结果中出现的顺序。)&lt;/p&gt;&lt;p&gt;3.自己写代码实现根据 url 获取 html源代码的方法，由于太简单 这里不讨论。&lt;/p&gt;&lt;p&gt;4.过滤html源码中的所有超级链接和脚本 以及图片(图片过滤方法本文不讨论，后面会讲), 因为新闻详细页中的超级链接我们是不需要的，我们需要的是文字信息。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;接下来开始思路讲解：&lt;/p&gt;&lt;p&gt;1.过滤完成后的文本，按照回车进行切割，会变成一个文本数组， 里面包含了空行和文本信息, 这里的空行在本文中没什么用处，但是在下一章节中就很有用了&lt;/p&gt;&lt;p&gt;结果 会出现 这样&amp;nbsp; string[] strList={ "&amp;nbsp;&amp;nbsp; ", &lt;br /&gt;&lt;/p&gt;&lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&lt;p&gt;"\t&amp;nbsp;&amp;nbsp;&amp;nbsp; ",&lt;/p&gt;&lt;p&gt;"今天气温到达了40度",&lt;/p&gt;&lt;p&gt;" 摘要：江南地区温度急速上升"&lt;/p&gt;&lt;p&gt;"请发表评论",&lt;/p&gt;&lt;p&gt;"内容：经过气象台预测，可能今日江苏地区气温会上升到40度左右。"，&lt;/p&gt;&lt;p&gt;"请广大网民做好防暑工作，尽量减少在高温下进行体力工作"，&lt;/p&gt;&lt;p&gt;"\t&amp;nbsp;&amp;nbsp;&amp;nbsp; ",&lt;/p&gt;&lt;p&gt;"\t&amp;nbsp;&amp;nbsp;&amp;nbsp; ",&lt;/p&gt;&lt;p&gt;"\t&amp;nbsp;&amp;nbsp;&amp;nbsp; ",&lt;/p&gt;&lt;p&gt;"版权所有：测试新闻网 ",&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;}&lt;br /&gt;&lt;/p&gt;&lt;p&gt;对于这段文字 我们需要的是 今&lt;span style="color:#FF0000;"&gt;&lt;span style="color:#000000;"&gt;天&lt;/span&gt;气温到达了40度 内容：经过气象台预测，可能今日江苏地区气温会上升到40度左右。请广大网民做好防暑工作，尽量减少在高温下进行提供作&lt;/span&gt;".&amp;nbsp;&amp;nbsp;&amp;nbsp; 其他的内容都不要 .&lt;/p&gt;&lt;p&gt;通过使用 shootseg 分出关键字（稍作处理）， 则获得如下关键字 气温，今天，摘要，江南地区，温度，评论，内容，气象台，预测，江苏，地区，网民，防暑，减少，高温，版权，新闻&lt;/p&gt;&lt;p&gt;然后分别计算 这些关键字的tf-idf 值，（语料库 要自己准备，数据库中数据越多，语料库越完善） ,经过计算&lt;/p&gt;&lt;p&gt;获取tf idf 值最有价值的关键字&amp;nbsp; 气温，防暑,体力,&amp;nbsp; 这里需要你在实践中设置阀值 ，既tf idf值的认可系数。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;于是接下来的事情 就比较简单了， 循环所有 列表 ，抽取 包含上述 &amp;#8220;最有价值&amp;#8221; 关键字的 段落 然后进行拼接&amp;nbsp; 于是就得到了最终 的网页正文。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;至于标题， 这里使用的 是&amp;nbsp; 正则表达式 获取 &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;的 内容,这样可以很有效的过滤掉 干扰因素&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;经过我程序测试 ，大部分新闻网站都能正确 抓取。&amp;nbsp; 因为 大部分新闻 段落 都和本文的的关键字直接有关。然后 有种情况经常会遗漏。&lt;/p&gt;&lt;p&gt;如我看到一篇公告 页面 内容如下&amp;nbsp; &lt;br /&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="color:#333333;"&gt;&lt;strong&gt;四、周边环境&lt;br /&gt;&lt;/strong&gt;1.商业：常州购物中心、文化宫、天宁商都&lt;br /&gt;2.娱乐配套：黄金大酒店、东方明珠KTV、文笔山庄&lt;br /&gt;3.其他：红梅公园、常州火车站、常州长途汽车客运站&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="color:#333333;"&gt;&lt;strong&gt;五、注意事项&lt;br /&gt;&lt;/strong&gt;1.竞买资格：具有完全民事行为能力的自然人或法人&lt;br /&gt;2.标的需要一次性付款，贷款合作银行为中国建设银行常州分行营业部&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span style="color:#333333;"&gt;&lt;strong&gt;六、联系方式&lt;br /&gt;&lt;/strong&gt;王先生 1399XXX&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;br /&gt;&lt;/p&gt;&lt;span style="color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:#000000;"&gt;&amp;nbsp; 正文就不贴了， 正文是 一段对该公告在该地区的介绍，用上述方法能正确获取， 然而 像上述段落属于要素信息，和新闻正文似乎没有太大关系，&lt;/span&gt;&lt;/span&gt;这些段落的关键字tfidf 值都很低，那么如果我要获取到该如何， 下一章 讲 &amp;#8220;文本区域法获取正文的方法&amp;#8221; &lt;span style="font-size:32px;color:#CC0000;"&gt;待续&lt;/span&gt;&lt;span style="font-size:32px;"&gt;.....&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/shenyisyn/aggbug/2097607.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/shenyisyn/archive/2011/07/04/2097607.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/shenyisyn/archive/2009/12/28/1633892.html</id><title type="text">从产品角度技术化优秀员工的评定</title><summary type="text">一个软件产品做的好不好，从用户角度至少会有三个因素：产品的价格、性能、服务（用户体验）。以前很多用户往往只关注前面两个因素，现在的用户对产品的服务以及用户体验的重视程度已经远远高于前两项。就像我们到超市去购买消费品，如果你是个会过日子的人，那么性价比是你最重视，而不是哪样便宜买哪样。现在政府采购软件也是需要对各家供应商提供的产品进行综合评分，当然涉及到的因素不止上述三项，但是都包含上述三项。  接...</summary><published>2009-12-28T03:05:00Z</published><updated>2009-12-28T03:05:00Z</updated><author><name>沈逸</name><uri>http://www.cnblogs.com/shenyisyn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/shenyisyn/archive/2009/12/28/1633892.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/shenyisyn/archive/2009/12/28/1633892.html"/></entry><entry><id>http://www.cnblogs.com/shenyisyn/archive/2008/05/20/1203077.html</id><title type="text">利用回调实现脚本实体类和模拟Ajax</title><summary type="text">利用回调实现脚本实体类和模拟Ajax</summary><published>2008-05-20T02:00:00Z</published><updated>2008-05-20T02:00:00Z</updated><author><name>沈逸</name><uri>http://www.cnblogs.com/shenyisyn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/shenyisyn/archive/2008/05/20/1203077.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/shenyisyn/archive/2008/05/20/1203077.html"/></entry><entry><id>http://www.cnblogs.com/shenyisyn/archive/2008/05/20/1203061.html</id><title type="text">数据挖掘初探-用简单公式预测下月数据</title><summary type="text">最近在搞数据挖据。偶然看到有些功能可以应用到一些网站当中去. &#xD;   大家都上网购买图书的时候一般都会上像 dearbook,当当这样的国内专业购书网站。这些网站一般都会提供一个常用的功能叫做销售排名，用来向大家展现一段时间内图书销售的排名情况。一般都是展现当月的图书销量排名。这里我们其实可以加一个功能叫做“下个月销售排行榜”,这样可以增加用户体验和使用户购书的时候更具有针对性.  &#xD;</summary><published>2008-05-20T01:53:00Z</published><updated>2008-05-20T01:53:00Z</updated><author><name>沈逸</name><uri>http://www.cnblogs.com/shenyisyn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/shenyisyn/archive/2008/05/20/1203061.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/shenyisyn/archive/2008/05/20/1203061.html"/></entry></feed>
