c#抓取网页数据(两个c#开发的网络爬虫老外写的相当不错:解析结果)

优采云 发布时间: 2021-09-13 12:11

  c#抓取网页数据(两个c#开发的网络爬虫老外写的相当不错:解析结果)

  项目经理说这是项目的一个亮点(无语...),类似爬虫的东西,模拟登录后台系统获取所需数据。然后开始研究这个。

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

  1、验证码识别

  系统验证码只有数字,并不复杂,没有深入研究。

  这完全满足我的需求。

  2、用户名和密码由用户提供。

  里面有证书,每次申请都必须随身携带。

  证书获取方式:

  3、网上有很多模拟登录的请求。

  推荐一位大神,写的相当好:

  4、parse html 内容

  推荐一个类库:HtmlAgilityPack,好用。它将html字符串转换为xml类型的操作(本来我想用普通的)。

  有了上面的东西,基本上就可以调试工作了。如果要做后台服务,还需要定时任务。这仍在研究中。 . .

  经验:

  1、登录的时候一直提示验证码错误,很费解,因为我是手动输入验证码的。用抓包工具分析后发现是JSESSIONID(使用的是JSP网站服务器),这个是每次请求都要带的,JSESSIONID是否正确。

  2、抓数据时提示登录超时,郁闷了半天,抽了根烟,把问题指向相关参数。抓包分析后,问题出现在JSESSIONID上,JSESSIONID的值不正确。修改后一切正常。

  开源的网络爬虫有很多,在Sourceforge上搜索也有很多,但C#很少。今天推荐两个c#开发的网络爬虫

  老外写的,http通信使用socket,效果很好,但是没有处理中文,下载中文时会出现乱码。在socket接收部分做一些处理就可以了。这个程序比较完整,具备了一个基本爬虫的所有功能,就是一个很好的例子。 VS2003, .net 1.1 有些已经过时,需要调整。

  是老外写的,csspider.zip。没有仔细研究,遵循LGPL协议,这位同志是专门研究爬虫的,写过很多书,但是都是英文的,看不懂。 .net 2.0。

  这里介绍的两个例子都是比较完整的例子,包括网页下载、分析、多线程、输出。下面的一点点处理就能得到很好的效果,同时也可以研究更多的实现思路,对自己的爬虫有很大的帮助。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线