我正在做一个网站数据的采集工具,是C#写的WINFORM应用程序。初步设计的采集步骤是:1。人工分析对象网站的文章列表页的代码,找到列表的标题和文章连接的规律。2。设定一个匹配规则比如http://www.rayli.com.cn/region/00161.html右侧的列表页。代码如下:<img src="/images/fshpd/fs_2_but01.gif" width="15" height="17" align="absmiddle"> 
            <a href="http://www.rayli.com.cn/2005-02-18/00161116747.html" target="_blank" class="A1">犹入仙境 珠宝魅力</a> 2005-02-18 10:53<br>
            
            <img src="/images/fshpd/fs_2_but01.gif" width="15" height="17" align="absmiddle"> 
            <a href="http://www.rayli.com.cn/2005-02-18/00161116740.html" target="_blank" class="A1">东瀛街头炽手搭配</a> 2005-02-18 10:40<br>
            
            <img src="/images/fshpd/fs_2_but01.gif" width="15" height="17" align="absmiddle"> 
            <a href="http://www.rayli.com.cn/2005-02-18/00161116731.html" target="_blank" class="A1">怡人春装 靓足七日</a> 2005-02-18 09:15<br>所以规律就是<img src="/images/fshpd/fs_2_but01.gif" width="15" height="17" align="absmiddle"> 
            <a href="[文章连接]" target="_blank" class="A1">[文章标题]</a> [变数]<br>但是现在有个问题。我的目的是采集上面的文章连接,文章标题。我也已经把目标网站的代码读取到本地的string变量里面。我应该怎样操作这个字符串才能获得这些数据呢?匹配字符串的时候不能使用通配符,那么[变数]如何写规则?好象都很复杂,我想了好几天了。希望有人能给点提示。谢谢

解决方案 »

  1.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=C2BCFA0A-D4E5-4791-87F3-C0B2AA2B7B5B
    修改成winform即可
      

  2.   

    string result;
    result = getPage(txtURL.Text.Trim());
    string TitleLeft,TitleRight;
    TitleLeft = txtLeft.Text.ToString();
    TitleRight = txtRight.Text.ToString();
    int CountLeft = result.IndexOf(TitleLeft) + TitleLeft.Length;
    int CountRight = result.IndexOf(TitleRight);
    txtHTML.Text = result.Substring(CountLeft,CountRight - CountLeft);
    我是这么取的,但是取的总是不符合要求
    getPage方法就是取目标页面的原代码的
      

  3.   

    回复人: LoveCherry(最讨厌你们这些要代码的了,一点技术含量都灭有) ( ) 信誉:100  2005-02-23 13:48:00  得分: 0  
     
     
       http://dotnet.aspx.cc/ShowDetail.aspx?id=C2BCFA0A-D4E5-4791-87F3-C0B2AA2B7B5B
    修改成winform即可
      
     
    这种方法我要是换网站就要重写正则表达式,但是程序的用语不会正则表达式的
    而且可以提取标题吗?那个只能取连接吧?
    VB我不擅长的
      

  4.   

    我觉得这个应该发到C#去啊,那是WINFORM,这是WEBFORM
      

  5.   

    我做了一个WEBFORM的,实现功能应该和你要求的差不多。给我消息我发你一份
      

  6.   

    UP+学习+接分UP+学习+接分UP+学习+接分
      

  7.   

    seaonce(一块烂菜) 给你发消息了
    期待中
      

  8.   

    看了seaonce(一块烂菜)的代码
    思路差不多,但是实现不一样,现在就想讨论一下
    一个规则中多个变量和网页代码匹配的问题
    具体还是看我的问题中的内容
    谢谢
      

  9.   

    应该是从html代码中找到相应的部分,把值读出来再操作。看看这篇吧:http://www.cnandusa.com/HArticle2420.aspx
      

  10.   

    如果是网页的架构保持不变的话,而仅仅是比如:<a href="..." ....>中连接地址变化的话, cdo(.NET虚心求教) 得倒是可以(虽然比较麻烦),如果网页的html完全是随意的,单纯用正则也不行.
    gz!!
      

  11.   

    hiaming(阿明)
    想问一下你的程序是不是每换个网站就要写一次正则表达式?
      

  12.   

    我的朋友有个程序可以自动抓网页.
    自己去下载:
    http://www.dedecms.com
      

  13.   

    其实程序已经作好了,就是想完善一下
    现在稳定运行在http://news.5617.com/nc