论坛首页 编程语言技术论坛

Linux下抓取网页数据小程序

浏览 11685 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (2)
作者 正文
   发表时间:2010-11-02  
C

每天都在维护学校的教务系统,访问量小的时候还好,访问量大的时候server时不时就崩溃。。同学写了一个自动重启Web server的小程序,果断拿来学习一下,收获很大,现总结如下。

 

Web server部署在Linux操作系统上,IDE用的是Weblogic Workshop。如果访问量大到超过Weblogic连接池最大容量的时候,server就会崩溃。。Weblogic有个自带网页的控制台console,里面有个监控页面Monitor。显示了当前的连接数,最大连接数等等数值。所以可以写程序实时抓取监控页面的数据,来决定什么时候自动重启。

 

使用wget命令来下载网页,用system命令来执行语句。

如 wget http://www.baidu.com -O baidu_index.html

这样就在当前目录下,抓取到了百度的主页到baidu_index.html文件下。

写在程序里就用 system("wget http://www.baidu.com -O baidu_index.html"); 运行后相当于执行了上面的命令。同理,写system("startWeblogic.sh &");就相当于重启Weblogic。

 

这样就简单了,使用wget下载到监控页面后,读到当前的连接数,如果大于一个值就重启就搞定了~(因为监控页面的框架是固定的,所以在固定的行数读数字就好了O(∩_∩)O~~)。

 

写完了程序,想想自己还差得远啊,光光加油!

   发表时间:2010-11-03  
你这个明显是程序问题,用重启来解决?
0 请登录后投票
   发表时间:2010-11-03  
goldpicker 写道
你这个明显是程序问题,用重启来解决?

确实程序效率也不高,而且Web server的配置也比较低。。高峰时同时有上千人访问。项目很大,我们维护小组一共三个人也有很多别的任务,没时间优化代码,只能想出这么个懒招儿了呵呵。
0 请登录后投票
   发表时间:2010-11-14  
1。首页任务是优化代码。
2。自己写一个采集分析工具,每隔一段时间访问一次weblogic控制台页面,等于又给服务器造成压力了。

应该看看日志,然后分析下哪里出问题了。你的方法不行的。
0 请登录后投票
   发表时间:2010-11-14  
就算是用你这样的方法,也应该是推荐用SHELL、Python之类的脚本语言来完成,你用system这个以后谁来维护啊...
0 请登录后投票
   发表时间:2010-11-21   最后修改:2010-11-21
鼓励一下. 你可以考虑优化下这个脚本看能做点什么别的事情.

当然这个只能是workround的做法, 不能算是最终解决方案
0 请登录后投票
   发表时间:2010-11-25  
是学生的话就要鼓励一下!
现在上大学真正学习知识的同学已经不多了。
0 请登录后投票
   发表时间:2010-12-24  
huansinho 写道
是学生的话就要鼓励一下!
现在上大学真正学习知识的同学已经不多了。


对在校学生更多的鼓励,帮助。
0 请登录后投票
   发表时间:2011-03-01  
有必要优化架构,感觉这样的技术方案不行。
0 请登录后投票
   发表时间:2011-03-01  
这就叫做“山人自有妙计”,有办法总比没办法好。我也将就玩一下吧。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics