使用c#制作网络爬虫,检查站点可访问性

本文讲述了作者在遇到网站访问问题后,为解决监控程序无法全面检测站点链接和图片状况的问题,决定编写一个定制版的网络爬虫。该程序利用HttpWebRequest和HtmlAgilityPack解析HTML,通过XPath获取链接和图片信息,检查网站内部链接的可达性和图片的正确显示。同时,程序采用多线程提高效率,并使用log4net记录日志,EmailHelper发送异常报告给管理员。代码已提供下载。
摘要由CSDN通过智能技术生成

  前几天自己负责的网站出现了不能访问的问题,系统监控程序通过告警将这一信息告诉了管理员。管理员找到了我,告诉我站点不能正常访问。后来问题查明,是负载均衡器出了问题。自己在检查站点的时候,发现有些图片不能正确显示,原因是图片链接无效。

  后来我就在总结这次故障,监控程序只能检测几个配置的链接,不可能对整个站点所有链接进行检测,不然配置文件要写一大堆。如果是配置外的链接不能访问,那不是就没有办法告知管理员了吗,况且现在的监控程序也不能检查页面图片能否正常显示。如果每次都要人工去检查,那是相当不现实的,那我能不能写个小程序去实现自动检查,并把检查结果已邮件的形式发送给相关人员呢?于是我想到了,可以使用网络爬虫干这件事情,当然这个爬虫是定制版的,只爬当前站点。

  首先创建一个控制台程序(其他类型的工程也可以),命名为WebResourceInspector。

  新建三个文件:Inspector.cs,EmailHelper.cs,config.xml。结果如下:

  其中Inspector.cs是监控类,里面利用HttpWebRequest实现数据爬取,分析。EmailHelper.cs是邮件帮助类,发送邮件。config.xml是爬取网站的配置文件。还有很多配置信息是写在app.config里面的。

  工程里面用到两个dll,一个是log4net,这个是记录日志的,不多说了,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值