码迷,mamicode.com
首页 > Windows程序 > 详细

C# 抓取网站数据

时间:2016-08-01 17:16:49      阅读:307      评论:0      收藏:0      [点我收藏+]

标签:

项目主管说这是项目中的一个亮点(无语...), 类似于爬虫一类的东西,模拟登陆后台系统,获取需要的数据。然后就开始研究这个。

之前有一些数据抓取的经验,抓取流程无非:设置参数->服务端发送请求->解析结果

1、验证码识别

系统的验证码只包含数字,不复杂,所以没有深入研究。

http://www.cnblogs.com/ivanyb/archive/2011/11/25/2262964.html

这个完全满足我的需求。

2、用户名、密码是用户提供的。

这里面有一个证书,每次请求都要带上。

证书获取方法:http://www.sufeinet.com/thread-4270-1-1.html

3、模拟登陆请求网上很多。

推荐位大神,写的相当不错:http://www.sufeinet.com/thread-2382-1-1.html

4、解析html内容

推荐一个类库:HtmlAgilityPack,灰常好用。它将html字符串转换成类型xml的操作(本来我还想用正则)。

 

有以上这些东西,基本上就可以调试工作了,要想做成一个后台服务,还需要一个定时任务的东西,这个还在研究。。。

心得:

1、在登陆的时候,一直提示验证码错误,百思不得其解,因为验证码是我手动输入的,用抓包工具分析后,发现JSESSIONID(JSP网站服务端用到的),这个每次请求都需要带上,以及JSESSIONID是否正确。

2、在抓取数据的时候,提示登陆超时,郁闷许久,抽根烟,把问题有指向了相关参数上,抓包分析后,问题就出现在JSESSIONID上,JSESSIONID取值不对,修改后,一切正常。

 

C# 抓取网站数据

标签:

原文地址:http://www.cnblogs.com/beijing2020/p/5726287.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!