首页 > Web开发 > 详细

从网页抓取数据的一般方法

时间:2015-03-15 19:32:53      阅读:330      评论:0      收藏:0      [点我收藏+]

首先要了解对方网页的执行机制 ,这能够用httpwacth或者httplook来看一下http发送和接收的数据。这两个工具应该说是比較简单易懂的。这里就不再介绍了。主要关注的内容是header和post的内容。通常会包括cookie,Referer页面和其它一些乱其八糟可能看不懂的变量,还有就是正常交互的參数,比方须要post或者get的querystring所包括的东西。

httplook和httpwacth 网上有非常多下载的,这里推荐使用httpwach,由于能够直接嵌入到ie中,个人认为这个比較好用。这两个工具能够到我上传在csdn的资源中下载,地址为

http://download.csdn.net/user/jinjazz

这里简单给出一段能够抓取数据的c#代码,比方登录某个站点,获取登录成功后的html代码,供数据分析使用。

技术分享 private   void  login()
技术分享         
{
技术分享             System.Net.WebClient wb 
=   new  System.Net.WebClient();
技术分享
技术分享             System.Collections.Specialized.NameValueCollection header 
=   new  System.Collections.Specialized.NameValueCollection();
技术分享             header.Add(
" Cookie " " czJ_cookietime=2592000; czJ_onlineusernum=1651; czJ_sid=w4bGJd " );
技术分享             header.Add(
" Referer " @" http://www.test_by_jinjazz.com.cn/bbs/login.php " );
技术分享             wb.Headers.Add(header);
技术分享             System.Collections.Specialized.NameValueCollection data 
=   new  System.Collections.Specialized.NameValueCollection();
技术分享             data.Add(
" formhash " " ebd2faac " );
技术分享             data.Add(
" referer " " http://www.test_by_jinjazz.com.cn/bbs/search.php " );
技术分享             data.Add(
" loginfield " " username " );
技术分享             data.Add(
" username " " jinjazz " );
技术分享             data.Add(
" password " " 999 " );
技术分享             data.Add(
" questionid " " 0 " );
技术分享             data.Add(
" answer " "" );
技术分享             data.Add(
" cookietime " " 2592000 " );
技术分享             data.Add(
" loginmode " "" );
技术分享             data.Add(
" styleid " "" );
技术分享             data.Add(
" loginsubmit " " 提交 " );
技术分享
技术分享             
byte [] b  =  wb.UploadValues( " http://www.test_by_jinjazz.com.cn/bbs/login.php " " Post " , data);
技术分享             
string  strData  =  System.Text.Encoding.Default.GetString(b);
技术分享             Console.WriteLine(strData);
技术分享         }

技术分享

以上代码除了三个url之外其它数据都是真实的,当中header和data中的參数和值都是用httpwatch来监測后得到。

 

从网页抓取数据的一般方法

原文:http://www.cnblogs.com/gcczhongduan/p/4340141.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!