`
izuoyan
  • 浏览: 9265880 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Linux 抓取网页实例(shell+awk)

 
阅读更多

从接到通知到面试,准备了三天的面试,暂告一段落,先谈点心得体会吧 ^_^

这次面试流程跟两年前差不多,先考察算法,然后测试功底,最后是综合素质,可惜我准备的方向错了,只准备了最近一年做的几个android项目,木准备算法( ⊙ o ⊙ )!

算法很考察技巧,小脑袋转不到点子上就很难想到,心里直扑通扑通,还好面试官特别特别特别的好~~ \(^o^)/~

自己最大的弱点是测试经验不足,面试最大的收获是用一面考官给的测试方法解决了二面考官的测试问题,师夷长技以自强嘛。。。哈

不管结果如何吧。。。今天的失败不要紧,要紧的是快速再学习的能力,相信只要自己每天积累一点点,总有一天小溪流终会聚成江河,直奔大海。。。



上一篇博客讲了Linux抓取网页的方式,有curl和wget两种方式,这篇将重点讲Linux抓取网页的实例——抓取google play全球12国的游戏TOP排名

要抓取google play游戏排名网页,首先需要分析网页的特点和规律:

1、google play游戏排名网页,是一个就“总-分”形式,即一页网址显示若干排名(如24个),有若干个网页组成全部游戏总排名

2、每页网址中,点击每个单独的游戏连接,可以查看本游戏的属性信息(如评价星级、发布日期、版本号、SDK版本号、游戏类别、下载量等)


需要解决的问题:

1、如何抓取全部游戏总排名?

2、抓取到总排名后,如何拼接URL来抓取每个单独的游戏网页?

3、抓取到每个单独游戏网页后,如何提取网页中游戏的属性信息(即评价星级、发布日期。。。)?

4、提取到了每个单独游戏属性信息后,如何保存(mysql)、生成每日报表(html)、发送每日报表(email)?

5、根据抓取的游戏属性信息资源,如何查询自己公司的游戏排名(JSP)、如何清晰的展现游戏排名(JFreeChart图表)?

6、更难的是,google play游戏排名,并没有全球统一的排名,google采用本地化策略,几十个国家都有自己的一套排名算法和规则,如何实现12国游戏排名?


分析完这些问题后,如何逐一解决,各个击破,便是需要我们思考、设计和解决的问题(模块流程和技术实现)?




分享到:
评论

相关推荐

    用Google AJAX Search API对互联网上Linux命令出现次数排名

    综合以上分析,这篇文章可能会讲解如何设置和使用Google AJAX Search API来进行搜索,如何编写Shell脚本来自动化数据抓取和分析过程,以及如何解读和理解统计结果。对于想要学习Web服务API使用、Linux命令流行度研究...

    基于Linux C、C++平台的网络爬虫的研究与实现

    在Linux下开发网络爬虫,开发者可以利用shell脚本进行文件操作,利用grep、sed、awk等工具处理文本数据,以及使用curl或wget获取网页内容。 其次,C和C++是两种强大的编程语言。C++提供了面向对象的编程特性,允许...

    shell脚本实现快速生成xml格式sitemap实例分享

    Shell脚本是基于Linux或Unix系统的命令行解释器,用于自动化一系列命令执行。在这个实例中,我们使用shell脚本来处理文本文件,生成符合XML规范的Sitemap文件。 在我们的例子中,生成Sitemap的关键在于一个已有的...

    Shell日志分析常用命令和例子

    5. **计算平均每次抓取的数据大小(KB)**:`awk '{print $10}' baidu.log|awk 'BEGIN{a=0}{a+=$1}END{ print a/NR/1024}'` 6. **首页抓取量**:`awk '$7~/\.com\/$/' baidu.log|wc -l` 7. **统计特定目录抓取量**:...

    Linux 中几个正则表达式的用法

    ### Linux中的正则表达式应用实例 #### 一、理解正则表达式在Linux环境下的作用 正则表达式是一种非常强大的文本处理工具,在Linux环境下主要用于模式匹配与文本过滤。它能够帮助用户精确地筛选出特定格式的数据或...

    Data-Extracts

    因此,这个 "Data-Extracts" 可能是利用 Shell 脚本来抓取、转换或分析数据的实例。 在压缩包内的文件名称列表中,我们只有一个条目 "Data-Extracts-main"。这通常意味着这是项目的主目录或者主脚本,可能包含了...

    个人档案

    1. **Shell脚本编程**:学习编写和使用Shell脚本来实现自动化任务,例如定时从财经网站抓取投资数据,自动化计算投资回报率,或者生成报表。 2. **数据管理**:理解如何组织和存储投资相关的数据,可能包括股票、...

    今天上传的一个重要文件

    #### Linux (RHEL及其他发行版) - **时间**:使用`date`命令。 - **系统负载**:使用`uptime`或`top`命令。 - **磁盘I/O**:使用`iostat`命令。 - **端口状态**:使用`netstat -tuln`。 - **网络流量**:使用`...

    深入浅析python定时杀进程

    - **PhantomJS** 是一个无头浏览器,常用于网站测试或抓取数据。由于它不依赖图形界面,因此可以在服务器环境中运行。 ##### 2. PhantomJS卡顿问题分析 在使用PhantomJS进行爬取时,可能会遇到PhantomJS进程阻塞的...

Global site tag (gtag.js) - Google Analytics