一个采集小软件

近几天忙前忙后,写了一个采集东西的小软件,其中碰上了几个技术问题,在这里做一下备注:

开发环境:vs2008

语言:c#

数据库:记事本

基本原理,获取网页源码,截取代码获得相应内容。

原理看着很简单的,但问题确实不少,我采集网页的地址属于跳转的,是人家自己的服务器上进行跳转,所以直接通过url获取网页源代码是不可能的,所以我使用了vs自带的Webbrowser控件,他可以对网页进行加载,加载完获得网页源码,接着问题来了,怎么判断网页加载完毕,这个就搞了一天多,幸亏本人思维敏捷,跳跃性比较好,想了两个见鬼的办法终于实现了等待网页加载完毕,说下原理,网页加载肯定是要代码的,所以我判断代码的数量,大过几千的代码量得时候 就确认他加载完毕,然后这样就实现了等待,网上也找了很多,不过都非常的麻烦,由于技术问题没有采用,不过我觉得我这么写 还是不错的。

网页加载完毕之后要获取控件内网页源码,可是又一个问题出现了,编码问题,这个 我就搞了两天,想当的麻烦,因为webborser控件的编码样式属于GBK,可是GBK不仅包含gb2312,我又在网上找啊找,绕了好多好多的弯路,终于查找到方法,我们在源头就直接让他获取正确代码不就行了,所以我又绕了回来。

第三个问题,写入记事本,你可以在网上找到很多的这方面的内容,但我们需要考虑,你写入字符串的多少,如果你要写入100万行的信息,建议你用数据库,记事本还是写少点的好,我就几千条。我把记事本代码贴出来,这个代码非常强大,只有一行,

File.AppendAllText(pth, str + "/r/n", Encoding.Default);学过的自己看肯定知道是啥意思了!

这个好像是先读取后在读取的后面跟上新的代码 实现续写功能,还是那句话,数据少了这么写可以,多了就算了,如果你不想内存崩溃的话。

当然还有很多很多其他的问题,我就不写了,如果谁有兴趣的话可以和我讨论,让大家少走弯路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值