这个程序实现两个功能,第一,从http://group.hexun.com/ZHH1997/member.html中读取"用户名"写到一文本文件中,如"ZHH边缘"等,第二,将文本文件中的诸个用户名,填到http://group.hexun.com/qiniuzhe/invite.aspx(代码附后:)
的输入框内,再点击,"发送邀请"第二步的网页代码如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<title>邀请首页</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="/inc/h_css_manage.css" rel="stylesheet" type="text/css">
<link href="/template/h_css_manage.css" rel="stylesheet" type="text/css">
<script language="javascript">
function cancelinvite()
{
window.reload();
return false;
}
function submitinvite(e,e1,e2)
{
re = /[a-zA-Z][_a-zA-Z0-9]{2,100}/;
if(e.value == "" || e1.value == "")
{
alert("请填入用户名和邀请说明!");
return false;
}
if(e2.value==2)
{
if(!re.test(e.value))
{
alert("输入正确的博客名!");
return false;
}
}
return true;
}
</script>
</HEAD>
<body class="aud" topmargin="0" leftmargin="0">
<div align="center">
<div style="WIDTH:956px; BACKGROUND-COLOR:#f6f6f6" align="left">
<!-- top_1:on -->

<table width="100%" border="0" cellpadding="0" cellspacing="0" class="li_aud_02" style="BACKGROUND-IMAGE: url(../images/li_aud_01.gif)">
 <tr>
    <td width="60%">
 <div class="li_aud_02">
      <ul class="li_aud_04">
       <li class="li_aud_05">
<a href="/qiniuzhe/default.html" target="_blank" class="liadd_04">骑牛者</a></li>
       <li class="li_aud_05_2"></li>
  </ul>
     </div>
</td>
    <td width="40%">
 <div class="li_aud_02">
       <ul class="li_aud_04">
<li class='li_aud_05'><a href='http://hexun.com/metababy/default.html' target='_blank' class='li_2'>[metababy]</a> <a href='http://wayup.hexun.com/quit.aspx?gourl=http://group.hexun.com/qiniuzhe/default.html' class='li_2'>登  出</a></li>
<li class="li_aud_05">
<a href="http://group.hexun.com" target="_blank" class="li_2">朋友圈</a>
<li class="li_aud_05">
<a href="http://tribe.hexun.com" target="_blank" class="li_2">和讯部落</a>
<li class="li_aud_05_2">
<a href="http://www.hexun.com" target="_blank" class="li_2">和讯首页</a></li>
</ul>
</div>
</td>
</tr>
</table>

解决方案 »

  1.   

    接上面
    <div class="li_aud_02_1" align="right">
    <div class="liadd_03_3">
    <div><a href="/qiniuzhe/default.html" title="http://group.hexun.com/qiniuzhe" class="liadd_05">http://group.hexun.com/qiniuzhe</a></div>
    <div><a href="/qiniuzhe/default.html" class="liadd_04" onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://group.hexun.com/qiniuzhe/default.html');return(false);">设为首页</a>&nbsp;<a href="javascript:window.external.AddFavorite('http://group.hexun.com/qiniuzhe/default.html', '骑牛者&quot;/group.hexun.com/qiniuzhe/default.html')" class="liadd_04" target="_self">收藏本圈</a>&nbsp;<a href='javascript:copy_url("http://group.hexun.com/qiniuzhe/default.html")' class="liadd_04">复制圈址</a></div>
    </div>
    <table border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td class="li_aud_02_2"><a href="/qiniuzhe/default.html"  class="li_top">本圈首页</a></td>
    <td class="li_aud_02_2"><a href="/qiniuzhe/member.html"  class="li_top">成员列表</a></td>
    <td class="li_aud_02_2"><a href="/qiniuzhe/discussions.html"  class="li_top">圈内讨论</a></td>
    <td class="li_aud_02_2"><a href="/qiniuzhe/activities.html"  class="li_top">圈内活动</a></td>
    <td class="li_aud_02_2"><a href="/qiniuzhe/notices.html" class="li_top">圈内公告</a></td>
    <td class="li_aud_02_2"><a href="/qiniuzhe/articles.html" class="li_top">圈友推荐</a></td>
    <td class="li_aud_02_2"><a href="/qiniuzhe/photos.html" class="li_top">圈内相册</a></td>
    <td class="li_aud_02_2"><a href="/qiniuzhe/join.aspx" target="_blank" class="li_top">申请加入</a></td>
    <td class="li_aud_02_2"><a href="/qiniuzhe/invite.aspx" class="li_top">邀请</a></td>
    <td class="li_aud_02_2"><a href="/qiniuzhe/admin.aspx" class="li_top">管理</a></td>
    </tr>
    </table>
    </div>
    <script>
    function copy_url(z)
    {
    clipboardData.setData('Text', z);
    }
    </script>
    <div style="MARGIN-TOP:10px;MARGIN-LEFT:10px">
    <!-- top_1:off -->
    <!-- main:on -->
    <!-- 自定义导航:on -->

    <div style="BACKGROUND-IMAGE: url(http://group.hexun.com/p/bg/userBG.gif);WIDTH: 936px;HEIGHT: 187px">
    <a href="/qiniuzhe/default.html" style="CURSOR: hand;" >
    <div style="WIDTH: 886px;height:117px;PADDING-TOP: 70px; padding-left:50px;">

    </div>
    </a>
    </div>
    <table width="936"  border="0" cellspacing="0" cellpadding="0" class="li_aud_37">
      <tr>
        <td class="li_aud_07">
    分类导航: <a href="/qiniuzhe/default.html" class='li_1'>全部</a>
    &nbsp;&nbsp;<span><a href="mode.aspx?type=1&backurl=http://group.hexun.com/qiniuzhe/newindex.aspx">升级为新版首页</a></span>
    </td>
      </tr>
    </table>
    </div>
    <!-- 自定义导航:off -->
    <!-- 邀请方式:on -->
    <div class="li_creat_01">

    <div class="li_creat_29" style="font-size:12px" id="MyDiv1">
    <div class="li_creat_03">Admin Menu</div>
    <div class="li_creat_31"><span class="li_creat_32">◆</span><a href="/qiniuzhe/default.html">圈子首页</a></div>
    <div class="li_creat_31"><span class="li_creat_32">◆</span><a href="/qiniuzhe/invite.aspx">邀请朋友</a></div>
    <div class="li_creat_31"><span class="li_creat_32">◆</span><a href="/qiniuzhe/admingeneral.aspx">常规设置</a></div>
    <div class="li_creat_31"><span class="li_creat_32">◆</span><a href="/qiniuzhe/admintitle.aspx">头图设置</a></div>
    <div class="li_creat_31"><span class="li_creat_32">◆</span><a href="/qiniuzhe/admintemplate.aspx">模板选择</a></div>
    <div class="li_creat_31"><span class="li_creat_32">◆</span><a href="/qiniuzhe/Admindiscussion.aspx">讨论管理</a></div>
    <div class="li_creat_31"><span class="li_creat_32">◆</span><a href="/qiniuzhe/adminnotice.aspx">公告管理</a></div>
    <div class="li_creat_31"><span class="li_creat_32">◆</span><a href="/qiniuzhe/adminactivity.aspx">活动管理</a></div>
    <div class="li_creat_31"><span class="li_creat_32">◆</span><a href="/qiniuzhe/admincategory.aspx">分类管理</a></div>
    <div class="li_creat_31"><span class="li_creat_32">◆</span><a href="/qiniuzhe/adminphoto.aspx">推荐图片管理</a></div>
    <div class="li_creat_31"><span class="li_creat_32">◆</span><a href="/qiniuzhe/adminarticle.aspx">推荐文章管理</a></div>
    <div class="li_creat_31"><span class="li_creat_32">◆</span><a href="/qiniuzhe/adminrequest.aspx">成员申请处理</a></div>
    <div class="li_creat_31"><span class="li_creat_32">◆</span><a href="/qiniuzhe/adminmember.aspx">成员管理</a></div>
    <div class="li_creat_31"><span class="li_creat_32">◆</span><a href="/qiniuzhe/adminlink.aspx">友情链接管理</a></div>
    </div> <div class="li_creat_30" style="FONT-SIZE:12px;BACKGROUND-COLOR:#f6f6f6">
    <div class="li_creat_03" align="center">邀请好友</div>
    <form id="frm" name="frm" method="post">
    <div class="li_creat_26">
    <div class="li_creat_27">请输入你欲邀请者的
    <select id="userChose" name="userChose" class="li_creat_06" style="WIDTH:100px">
    <option value="1" selected>用户名</option>
    <option value="2">博客名(英文)</option>
    </select>
    <input name="User" id="User" type="text" class="li_creat_06" value="">
    </div>
    <div class="li_creat_27">请输入邀请说明:</div>
    <textarea name="Explanation" id="Explanation" rows="5" style="WIDTH:500px">HI,你好!我在和讯创建了一个我自己的朋友圈,欢迎你参与进来共同讨论交流,热切等待你的加入!欢迎你通过下面的地址来访问!骑牛者: http://group.hexun.com/qiniuzhe/default.html</textarea>
    </div>
    <div class="li_creat_24">
    <div style="WIDTH:500px" align="center">
    <input type="submit" name="submitInvite" id="submitInvite" onclick="return submitinvite(User,Explanation,userChose);"
    value="发送邀请" class="li_add_58" style="WIDTH:83px"> <input type="submit" name="cancelInvite" id="cancelInvite" onclick="return cancelinvite()"
    value="取消" class="li_add_58" style="WIDTH:83px">
    </div>
    </div>
    </div>
    </div>
    </FORM> 
    <!-- 邀请方式:off -->
    <table width="956" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td>
    <div class="li_aud_06" style="width:100%"><div style="padding-top:7px; font-size:12px ">Powered by <a href="http://www.hexun.com" target="_blank">hexun.com</a>&nbsp;&nbsp;<a href="http://bar.hexun.com/t/1448840.html" target=_blank>客服中心</a></div>
    </div> </td>
    </tr>
    </table>
    </div>
    <!-- main:off -->
    </div>
    <DIV></DIV>
    <script language='javascript' src='http://wayup.hexun.com/inc/menu.aspx?gourl=http://group.hexun.com%2fqiniuzhe%2finvite.aspx'></script>
    <script src="http://www.hexun.com/rest/track/track.js"></script>
    <script language=javascript src="http://im.hexun.com/event.aspx?cururl=http%3a%2f%2fgroup.hexun.com%2finvite.aspx%3fgroupName%3dqiniuzhe"></script>
    </body>
    </HTML>
      

  2.   

    大哥,可能通过C#的WebBerower控件实现,我就用这个控件来写个灌水机的先打开第一个网页,然后截取内容,然后打开第二个网页,填内容过去,然后点发送。
      

  3.   

    送给第一个解答成功的朋友.分不够,可以再开一贴,再说一百分.请大家帮帮忙!
    谢谢
    谢谢===大哥,可能通过C#的WebBerower控件实现,我就用这个控件来写个灌水机的先打开第一个网页,然后截取内容,然后打开第二个网页,填内容过去,然后点发送。to xtvtkd(零零漆):
    我知道要用这个,也查到了一些资料,可就是不能成功执行.
    还望各位,不吝赐教.
    有类似的代码,只要起到了引导,我完成的,我也赠分.
    感谢
      

  4.   

    其实就是蜘蛛程序,说这么多内容。你在google上搜 ”用C#语言构造蜘蛛程序“里面有代码例子
    可以用主要是对网页中特定关键字的分析。
      

  5.   

    抓取Web网页数据分析 
    Posted on 2006-05-24 14:04 无悔 阅读(3767) 评论(28)  编辑 收藏 引用 网摘 所属分类: C#编程  
      通过程序自动的读取其它网站网页显示的信息,类似于爬虫程序。比方说我们有一个系统,要提取BaiDu网站上歌曲搜索排名。分析系统在根据得到的数据进行数据分析。为业务提供参考数据。
      为了完成以上的需求,我们就需要模拟浏览器浏览网页,得到页面的数据在进行分析,最后把分析的结构,即整理好的数据写入数据库。那么我们的思路就是:
      1、发送HttpRequest请求。
      2、接收HttpResponse返回的结果。得到特定页面的html源文件。
      3、取出包含数据的那一部分源码。
      4、根据html源码生成HtmlDocument,循环取出数据。
      5、写入数据库。程序如下:          //根据Url地址得到网页的html源码
            private string GetWebContent(string Url)
            {
                string strResult="";
                try
                {
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
        //声明一个HttpWebRequest请求
                    request.Timeout = 30000;
                    //设置连接超时时间
                    request.Headers.Set("Pragma", "no-cache");
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    Stream streamReceive = response.GetResponseStream();
                    Encoding encoding = Encoding.GetEncoding("GB2312");
                    StreamReader streamReader = new StreamReader(streamReceive, encoding);
                    strResult = streamReader.ReadToEnd();
                }
                catch
                {
                    MessageBox.Show("出错");
                }
                return strResult;
            }
    为了使用HttpWebRequest和HttpWebResponse,需填名字空间引用
      using System.Net;以下是程序具体实现过程:
     private void button1_Click(object sender, EventArgs e)
            {
                //要抓取的URL地址
                string Url = "http://list.mp3.baidu.com/topso/mp3topsong.html?id=1#top2";            //得到指定Url的源码
       string strWebContent = GetWebContent(Url);            richTextBox1.Text = strWebContent;
       //取出和数据有关的那段源码
                int iBodyStart = strWebContent.IndexOf("<body", 0);
                int iStart = strWebContent.IndexOf("歌曲TOP500", iBodyStart);
                int iTableStart = strWebContent.IndexOf("<table", iStart);
                int iTableEnd = strWebContent.IndexOf("</table>", iTableStart);
                string strWeb = strWebContent.Substring(iTableStart, iTableEnd - iTableStart + 8);            //生成HtmlDocument
       WebBrowser webb = new WebBrowser();
                webb.Navigate("about:blank");
                HtmlDocument htmldoc = webb.Document.OpenNew(true);
                htmldoc.Write(strWeb);
                HtmlElementCollection htmlTR = htmldoc.GetElementsByTagName("TR");
                foreach (HtmlElement tr in htmlTR)
                {
                    string strID = tr.GetElementsByTagName("TD")[0].InnerText;
                    string strName = SplitName(tr.GetElementsByTagName("TD")[1].InnerText, "MusicName");
                    string strSinger = SplitName(tr.GetElementsByTagName("TD")[1].InnerText, "Singer");
                    strID = strID.Replace(".", "");
                    //插入DataTable
                    AddLine(strID, strName, strSinger,"0");                string strID1 = tr.GetElementsByTagName("TD")[2].InnerText;
                    string strName1 = SplitName(tr.GetElementsByTagName("TD")[3].InnerText, "MusicName");
                    string strSinger1 = SplitName(tr.GetElementsByTagName("TD")[3].InnerText, "Singer");
                    //插入DataTable
                    strID1 = strID1.Replace(".", "");
                    AddLine(strID1, strName1, strSinger1,"0");                string strID2 = tr.GetElementsByTagName("TD")[4].InnerText;
                    string strName2 = SplitName(tr.GetElementsByTagName("TD")[5].InnerText, "MusicName");
                    string strSinger2 = SplitName(tr.GetElementsByTagName("TD")[5].InnerText, "Singer");
                    //插入DataTable
                    strID2 = strID2.Replace(".", "");
                    AddLine(strID2, strName2, strSinger2,"0");            }
                //插入数据库
                InsertData(dt);
       
                dataGridView1.DataSource = dt.DefaultView;
    }程序运行结果界面图:
    以上程序在VS.Net2005(C#),Windows 2003(sp1)平台上测试通过。