• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

-- 急问一个关于网页重定向的问题 C#--

tintin1983 2008-02-08 06:27:45

大家好,我是一个学生,最近在为自己的作业爬数据,
网站是大众点评网,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;
}
}
...全文
249 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tintin1983 2008-02-08

牛牛们都回家过年去了,555~~
回复
changjiangzhibin 2008-02-08
路过,帮顶!!
回复
tintin1983 2008-02-08


Help~~
回复
tintin1983 2008-02-08

求助~~
回复
tintin1983 2008-02-08


都没有人能帮帮我么?:(
回复
相关推荐
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2008-02-08 06:27
社区公告

让您成为最强悍的C#开发者