大家好,我是一个学生,最近在为自己的作业爬数据,
网站是大众点评网,www.dianping.com在学校的时候,由于是在北京,或者是使用美国的proxy, 还没有遇到过网页重定向的问题,
可最近过年回家,我的网页爬虫爬到的数据全部按照地区被重定向到了当地的目录,数据无法继续搜集,非常着急比如说,我爬这个网页,http://www.dianping.com/shop/515445,本来是关于北京一家餐厅的评论,但是爬虫就自动重定向到了家乡的餐厅搜索结果,根本不是我需要的。
当我把hwr.AllowAutoRedirect设为false的时候,则爬虫只能下载下来一个显示重定向连接的网页,也不是我所需要的;可是当我用IE或者Firefox访问这个页面的时候,一切都好好的,就是我需要的页面,可爬虫却不行。唯一可以行得通的是采用国外的proxy,可是在家搜了好久,都没有找到能用的,非常着急。请各路高手出手相助,给您拜年了!谢谢大家!
下面是我的C#下载页面的代码:         public bool Download()
        {
            if (!CheckTargetDir()) return false;
            try
            {
                HttpWebRequest hwr = (HttpWebRequest)(WebRequest.Create(m_StrUrl));
                hwr.UserAgent = @"Mozilla/4.0; (Compitable; MSIE 6.0; Windows NT 5.1;)";                hwr.Proxy = new WebProxy();
                hwr.CookieContainer = new CookieContainer();
                hwr.AllowAutoRedirect = true;
                
/*
                    hwr.Proxy = new WebProxy("http://jpnproxy.fareast.corp.microsoft.com", true);
                }
                */                                WebResponse wr = hwr.GetResponse();
                using (Stream strmFileContent = wr.GetResponseStream())
                {
                    using (FileStream fsTargetFile = new FileStream(m_StrTargetFile, FileMode.OpenOrCreate))
                    {
                        if (wr.ContentType.ToLower().StartsWith(@"text/"))
                        {
                            m_bIsTextType = true;
                            return DownloadText(strmFileContent, fsTargetFile);
                        }
                        return DownloadBinary(strmFileContent, fsTargetFile);
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                return false;
            }
        }