4.12-4.28:网页抓取与android简单游戏开发体会

来源:互联网 发布:阿里云win404 编辑:程序博客网 时间:2024/05/16 08:36

4.12—4.19

朋友毕设需要“http://demohour.com/”网站的项目信息,这个网站是个众筹网站就是说一些项目需要做前期推广和资金筹措的,就可以将项目放在这个网站上。我需要做的工作是抓取每个项目的所有评论信息,并将所有数据写入excel文件中。

用到的工具:IE浏览器+搜狗浏览器+Fiddler。这里分析网页什么的就不多说了。我需要获取数据的网页有个特点:项目首页+若干子页面(网址不变)如http://www.demohour.com/forums/project-340967,如下图(在网页的最下方)

此处的解决办法:首先分析该项目首页以得到子页面数目,将首页数据全部获取之后,再逐个分析子页面。一开始怎么也没办法子获取页面,后来仔细用Fiddler抓包比对,终于发现在java中需设置

conn.setRequestProperty("Accept", "*/*;q=0.5, text/javascript, application/javascript, application/ecmascript, application/x-ecmascript");
就这样问题解决。
但随后发现,程序运行检查5000个项目编号,需要运行的时间竟然达到一个小时,该网站有几十万个项目,而期间该程序的cpu占用率不到1%,应为太多的写操作,I/O频繁切换,进而想到用多线程提高并发。具体做法:内存开辟缓冲区(数组)存放网页数据,存放100个项目的网页数据,满了之后批量分析数据,再批量写入。bingo!解决
4.19~4.25
android小游戏:连连看,帮助外国朋友学汉语。如图,需要进一步完善,联机和联网功能没能完美实现。


0 0