当前位置: 代码迷 >> ASP.NET >> 网页抓取数据时,怎么过登陆验证? 求大神指点
  详细解决方案

网页抓取数据时,怎么过登陆验证? 求大神指点

热度:4966   发布时间:2013-02-25 00:00:00.0
网页抓取数据时,如何过登陆验证?? 求大神指点
如题, 这是小弟的网页抓取数据代码
C# code
while (resultType)            {                string result = string.Empty;                string url = "http://search.zhenai.com/search/getfastmdata.jsps?gender=1&agebegin=25&ageend=35&workcityprovince=" + txtCityCode.Text + "&workcitycity=-1&Marriage=-1&Salary=-1&Education=-1&h1=-1&h2=-1&photo=1&currentpage=" + pageIndex;                HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(url);                hwr.Method = "GET";                hwr.Referer = "localhost";                using (WebResponse wr = hwr.GetResponse())                {                    StreamReader sr = new StreamReader(wr.GetResponseStream(), Encoding.Default);                    result = sr.ReadToEnd();                    wr.Close();                }                if (result.Contains(errorstr))                {                    resultType = false;                    pageIndex = 1;                    lblsuccess.Text = "当前城市数据采集完毕!";                    MessageBox.Show("当前城市数据采集完毕!");                }                else                {                    //抓取数据代码                }             }


但是我遇到个问题。 当我抓下来列表的用户连接之后, 访问之。 全部跳转到注册页面去了。 原因是没有通过登录验证, 这可如何是好?

------解决方案--------------------------------------------------------
不太可能,唯一可行的办法是你在采集前,先手工登录,再进行采集。
如果人没有用到验证码,可以做成自动登录,再采集。

如果用了验证码,网上有验证码识别的例子,可以用下,但效率太低,识别率不高,尤其是在asp.net下,还是不可避免的需要人工干预的。
  相关解决方案