c# 里用正则表达式从网页获取信息?、

网页为http://www.hnrcsc.com/firstPage/showDwzpDetail.asp?dwid=12365语言为c#用正则表达式取页面的如下文本公司... 网页为 http://www.hnrcsc.com/firstPage/showDwzpDetail.asp?dwid=12365
语言为c#

用正则表达式取页面的如下文本
公司名称
电话
传真
联系人
邮编
网址
E-MAIL
地址
单位简介

存入一个数据库

希望能得到与之相关的代码,O(∩_∩)O哈哈~
展开
 我来答
skynomadism
2009-08-19 · TA获得超过319个赞
知道小有建树答主
回答量:410
采纳率:100%
帮助的人:166万
展开全部
第一步:先取出你所要的信息所在的尽可能小的一段HTML.(在本需求中,这一步显得不是很重要,如果你面对的是个列表,你会发现这一步的意义)
<td height="40" align="left" style="font-size:14px; font-weight:bolder; padding-left:25px; color:#3b4b65;">(.*?)<img src="/firstpage/ima/b.gif" width="718" height="33" border="0"/>

接下来,用上面的操作得到的HTML分别进行以下提取即可.

公司名称:
<td height="40" align="left" style="font-size:14px; font-weight:bolder; padding-left:25px; color:#3b4b65;">[\u4e00-\u9fa5]+</td>

电话:
<td width="215" align="left" class="shangxian">[\d]{4}-[\d]{0,8}</td>

传真:
<td width="200" align="left" class="shangxian" >[\d]{4}-[\d]{0,8}</td>

联系人:
<td align="left" class="zhongxia">[\u4e00-\u9fa5]+</td>

邮编:
<td align="left" class="zhongxia">[\d]+</td>

网址:
http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?

E-Mail:
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

地址:
<td colspan="3" align="left" class="xiaxin">(.*?)</td>

单位简介:
<p>(.*?)</p>

这就是我现在做的软件的整体思路.其实,我把这些都叫做信息分装向导.
第一步的叫做信息对像提取.它可能由多条有序的表达式组成.

后面的分别进行,我叫做信息元分装提取.它们也可能各自由多条有序的表达式组成,视面对的复杂度了.

现在的大多数信息采集软件都是面向站点的.也就是说数据对像的结构不定,不同网站设计不同数据结构,然后再采,这样采到的数据,很难进行统一的管理和二次利用.
我的思路是面向数据的.我把最常用的网上数据分成十六种.每种建立一个标准结构.

然后,为每一种建立一个通用的数据分装向导的调度机制.这样,接下来的工作就是,给出需要采集的网页地址和编写分装向导规则了.

只要数据基本上属于我十六种中的一种,就可以进行采集.不考虑网站.(需要登录的另加一些专门的预处理机制)
躲错气9
2009-08-19 · TA获得超过684个赞
知道小有建树答主
回答量:936
采纳率:0%
帮助的人:599万
展开全部
500 分 也没人写给你代码,原因如下

这个属于信息采集,说牵涉到的方面比较多,就算给你正则提取内容,但还需考虑其他因素的。

给你稍微的讲解下吧。

1. 需要获取COOKIES才能登陆网站,换句话说你的采集需要 POST 登陆 才行

2. 正确的解释文件编码,有的网页中虽然是GB2312 或 GBK 等但 实际的编码不是这样的,当网页打开加载,或出现乱码,或其他情况的时候系统就会自动的换成正确的编码,看上去就像是GB2312 或 GBK 但实际上却不是的,细节就不说明了

3. 页面的跳转有很多方式,当你采集的时候就需要考虑,如:脚本传参,事件触发,AJAX,框架等

4. 页面路径问题,有的网站是以日期作为路径的如新闻网站,有的网站是以时间作为路径的如,附件下载的。

5. 到这里才能算是用正则提取的。

正则提取需要使用正则表达组!过滤页面中的JS, HTML标签,CSS等,然后在过滤空格行,空白字符,unciode字符等。提取的过程比较复杂,遇见防采集的网站需要手动分析,标签替换等,操作复杂。

躲过了N多的BOSS才给你回答的,这样简单的说到这里希望对LZ有帮助!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旁笑槐NH
2009-08-19 · TA获得超过2545个赞
知道大有可为答主
回答量:2686
采纳率:0%
帮助的人:2897万
展开全部
正则没法处理,你可以用htmlagalitypack把它转成XML,之后用xpath读,以前写过一个,不是很难
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
比北极熊还熊
2009-08-19 · TA获得超过124个赞
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:221万
展开全部
如果单这一个网站页面的采集倒是不难,因为格式固定,可以实现,但若用到别的网站就难了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式