首先要了解对方网页的运行机制,这可以用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.WebClientwb
=
new
System.Net.WebClient();
System.Collections.Specialized.NameValueCollectionheader
=
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.NameValueCollectiondata
=
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来监测后得到。
分享到:
相关推荐
java网页抓取数据
Java网页抓取数据
htmlparser实现从网页上抓取数据
java抓取网页数据实现
抓取网页数据和内容,PreparedStatement的用法
实现从网页上抓取数据.实现从网页上抓取数据.实现从网页上抓取数据.
一个demo实现简单的比分抓取功能,用户需要根据自己要抓取的网站设置,就可以抓取网页数据!
这个demo是用c#语音开发的运用正则抓取网页数据,可以用来学习、借鉴。
自动抓取Salseforce.com页面信息到本地数据库,采用Delphi2010,可以进行不同页面数据间自动复制填写,采用IHTMLDocument2,提供关键代码
htmlparser实现从网页上抓取数据
getProperty()函数使用方法及说明
Java抓取https网页数据,解决peer not authenticated异常。导入eclipse就能运行,带有所用的jar包(commons-httpclient-3.1.jar,commons-logging.jar,httpclient-4.2.5.jar,httpcore-4.2.4.jar)
VBA提取网页数据的四种方法,可以应用于excel中vba编程用于从网络自动提取数据。
利用HttpClient抓取网页中简单的数据,数据可存入数据库进行分析
Java抓取网页数据的两种方法:(1)抓取原网页 (2)抓取网页JS返回数据
java抓取网页数据,主要用于抓取手机号和身份证查询网站的数据。
从ICLR 2019 OpenReview网页抓取数据
非常好的一个java版本的网络爬虫,下载直接可以运行。可以后台登陆然后再抓取。值得大家研究。
运用正则抓取网页数据