一个采集小软件

优采云 发布时间: 2020-08-15 11:45

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

  开发环境:vs2008

  语言:c#

  数据库:记事本

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

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

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

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

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

  这个似乎是先读取后在读取的前面跟上新的代码 实现续写功能,还是那句话,数据少了如此写可以,多了即使了,如果你不想显存崩溃的话。

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

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线