网站信息抓取遇到防盗链问题

jackecho1122 2012-04-27 04:26:22
如题,由于工作的需要,一个哥们让我帮他抓取网页中的信息,可是发现该网页是防止盗链的。
先看下面的代码:
foreach (HtmlElement link in links)
{
//找到需要webbrowser自动点击的link
if (link.GetAttribute("href").Contains("/SignHandle?userID="))
{
//如果用下面的navigate方法的话,由于网页有防盗链功能,所以在webbrowser中提示“非法链接”
webBrowser2.Navigate(link.GetAttribute("href").ToString(),true);

//如果模拟点击的话,倒是可以再IE的新窗口中打开,但是由于不是在webbrowser中,我也取不到需要的信息
link.InvokeMember("click");



objReset.Reset();
while (objReset.WaitOne(100, false) == false) { Application.DoEvents(); }
}
else//查询不到结果
isShow = false;
}

对于这样的防止盗链的情况,我该如何取得这个网页中的信息呢?谢谢各位。
...全文
228 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackecho1122 2012-04-27
  • 打赏
  • 举报
回复
关键是你想要获取的这个网页信息不能在WebBrowser中载入,这个才是头疼的问题。
jackecho1122 2012-04-27
  • 打赏
  • 举报
回复
在WebBrowser中是很容易处理的,但是如果在一个新的IE的窗口中的内容,用C#应该如何捕获呢?
LittleMo_2012 2012-04-27
  • 打赏
  • 举报
回复
怎么会,防盗链又不是防你不能采集...
只要用户能访问,就可以抓取他的信息啊!
jackecho1122 2012-04-27
  • 打赏
  • 举报
回复



//如果用下面的navigate方法的话,由于网页有防盗链功能,所以在webbrowser中提示“非法链接”
webBrowser2.Navigate(link.GetAttribute("href").ToString(),true);

这句代码应该为:webBrowser2.Navigate(link.GetAttribute("href").ToString());


111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧