我的学习笔记01-从工行网页抓取白银价格
2013-10-21 21:40
260 查看
/**
本人是一名业余爱好者,水平是用java敲一个hello world都需要思考几秒的菜鸟,所以肯定有比我所用方法更优的解决方法,欢迎指点。
学习思路:以具体实用项目为目标,分析问题,收集资料,快速学习。先得到与任务紧密联系的广泛、片段的知识,完成任务后,再对感兴趣的部分深入挖掘。特点是敏捷有成就感。
学习辅助工具:番茄钟app
**/
目标:一个纸白银app。功能:抓取显示当前纸白银价格,并与自己的设定值比较,触线则闹铃提醒进行交易。
任务分解:1 抓取 2 比较 3 闹钟
虽然现在还不会android下的比较和闹钟,但感觉不难学会。重点在抓取。
探索抓取的解决方法。
前期弯路:
正常应该是典型的C/S结构,数据来自数据库,主要工作在客户端开发。但实时的白银价格数据库我没有,此路不通。
1 发现绝大部分白银数据来源来自网站www.kitco.cn,免费提供网站嵌入曲线gif图,一分钟刷新一次。很方便,HTML下<img src="http://www.kitconet.com/images/quotes_2a.gif" >就可以了,但数据是图片,没有单纯的数值源,若要抓取,需要模式识别知识,如果问题解决了,一般网站验证码也就形同虚设了,目测难度很大。
2 百度“白银价格”,可以得到数值,来源是与企业的合作,百度提供“开发平台”,企业提供符合百度格式的数据,价格更新较慢,而且用浏览器查看网页源码,发现结构比较复杂。
3 工行数据准确,提供数值,特定页面流量小,适合抓取。
白银价格来源:http://www.icbc.com.cn/ICBCDynamicSite/Charts/GoldTendencyPicture.aspx
工具:jsoup。jsoup是一个开源java库,可以通过url抓取HTML内容,并进行parse(解析)。也方便在android下应用。官网:http://jsoup.org/。本想兴致勃勃的把其翻译了,写一篇翻译文章,结果发现已经有翻译好的了:http://www.open-open.com/jsoup/
由于是零基础,所以在jsoup前,花了两天时间学习了下HTML,CSS,JAVASCRIPT的简单基础知识。推荐:w3school。感觉HTML,CSS就是文本编辑,不算编程,难度不大;javascript好上手,功能强大,看到cookie没看了,后面继续。jsoup提供手册和源码,是一个极好的学习资料。其称手册为“cookbook",哈,第一次听到把code比作cook recipe实在MIT网络课程讲python的一节课上,很喜欢。每一个好的程序员都是一位好大厨!
jsoup的第一次使用
安装
来源:jsoup.org
内容:jsoup-1.7.2.jar;jsoup-1.7.2-source.jar
怎么使用?(太基础了,cookbook没讲,零基础伤不起,大神勿喷)
错误尝试:
环境:WIN7 64bit; ECLIPSE adt-bundle-windows-x86-20130219;JAVA 1.7.0_15;
直接粘贴到java文件夹下jre,import报错。
成功尝试:
1 在自己的项目下新建一个文件夹“lib”
2 eclipse 项目右键,refresh
3 refresh后效果
4 build path
5 导入成功
6 敲了一个Jsoup的例子程序,解析的是baidu。例子中子函数是在尾部,报错,移到头部就好了。
7 从org学习API,发现最直接的是得到body的string,得到如下串:
8 急补java String的知识,从长串中提取特定信息。成功!看到4.27那一刻,我很激动!一个周末的成果。
决定在app出来后,好好把Jsoup的源码研究一下。
本人是一名业余爱好者,水平是用java敲一个hello world都需要思考几秒的菜鸟,所以肯定有比我所用方法更优的解决方法,欢迎指点。
学习思路:以具体实用项目为目标,分析问题,收集资料,快速学习。先得到与任务紧密联系的广泛、片段的知识,完成任务后,再对感兴趣的部分深入挖掘。特点是敏捷有成就感。
学习辅助工具:番茄钟app
**/
目标:一个纸白银app。功能:抓取显示当前纸白银价格,并与自己的设定值比较,触线则闹铃提醒进行交易。
任务分解:1 抓取 2 比较 3 闹钟
虽然现在还不会android下的比较和闹钟,但感觉不难学会。重点在抓取。
探索抓取的解决方法。
前期弯路:
正常应该是典型的C/S结构,数据来自数据库,主要工作在客户端开发。但实时的白银价格数据库我没有,此路不通。
1 发现绝大部分白银数据来源来自网站www.kitco.cn,免费提供网站嵌入曲线gif图,一分钟刷新一次。很方便,HTML下<img src="http://www.kitconet.com/images/quotes_2a.gif" >就可以了,但数据是图片,没有单纯的数值源,若要抓取,需要模式识别知识,如果问题解决了,一般网站验证码也就形同虚设了,目测难度很大。
2 百度“白银价格”,可以得到数值,来源是与企业的合作,百度提供“开发平台”,企业提供符合百度格式的数据,价格更新较慢,而且用浏览器查看网页源码,发现结构比较复杂。
3 工行数据准确,提供数值,特定页面流量小,适合抓取。
白银价格来源:http://www.icbc.com.cn/ICBCDynamicSite/Charts/GoldTendencyPicture.aspx
工具:jsoup。jsoup是一个开源java库,可以通过url抓取HTML内容,并进行parse(解析)。也方便在android下应用。官网:http://jsoup.org/。本想兴致勃勃的把其翻译了,写一篇翻译文章,结果发现已经有翻译好的了:http://www.open-open.com/jsoup/
由于是零基础,所以在jsoup前,花了两天时间学习了下HTML,CSS,JAVASCRIPT的简单基础知识。推荐:w3school。感觉HTML,CSS就是文本编辑,不算编程,难度不大;javascript好上手,功能强大,看到cookie没看了,后面继续。jsoup提供手册和源码,是一个极好的学习资料。其称手册为“cookbook",哈,第一次听到把code比作cook recipe实在MIT网络课程讲python的一节课上,很喜欢。每一个好的程序员都是一位好大厨!
jsoup的第一次使用
安装
来源:jsoup.org
内容:jsoup-1.7.2.jar;jsoup-1.7.2-source.jar
怎么使用?(太基础了,cookbook没讲,零基础伤不起,大神勿喷)
错误尝试:
环境:WIN7 64bit; ECLIPSE adt-bundle-windows-x86-20130219;JAVA 1.7.0_15;
直接粘贴到java文件夹下jre,import报错。
成功尝试:
1 在自己的项目下新建一个文件夹“lib”
2 eclipse 项目右键,refresh
3 refresh后效果
4 build path
5 导入成功
6 敲了一个Jsoup的例子程序,解析的是baidu。例子中子函数是在尾部,报错,移到头部就好了。
7 从org学习API,发现最直接的是得到body的string,得到如下串:
8 急补java String的知识,从长串中提取特定信息。成功!看到4.27那一刻,我很激动!一个周末的成果。
决定在app出来后,好好把Jsoup的源码研究一下。
相关文章推荐
- 我的学习笔记02-Android下利用Jsoup从工行网页提取白银价格到自己的app
- JSP学习笔记(七十五):使用HttpClient远程抓取网页内容
- Python学习笔记-简易抓取网页-2
- Python爬虫学习笔记一:简单网页图片抓取
- JSP学习笔记(七十五):使用HttpClient远程抓取网页内容
- DC学院数据分析师(入门)学习笔记----基于网页抓取天气数据demo以及基于网页抓取《摔跤吧!爸爸》豆瓣评分
- Python抓取离线网页信息_学习笔记_1
- python学习笔记-抓取网页图片脚本
- Python学习笔记-简易抓取网页-1
- Python爬虫学习笔记二:百度贴吧网页图片抓取
- Scrap学习笔记 --- python实现抓取整个网页
- 学习笔记-python抓取网页数据
- scala 学习笔记(02) 元组Tuple、数组Array、Map、文件读写、网页抓取示例
- 【OpenGL 学习笔记01】HelloWorld示例
- cocos2d-x:学习笔记-01
- NodeJs学习笔记_01
- Objective_C 基础知识学习笔记01
- 《笨办法学 Python》 学习笔记01
- 【OpenCV学习笔记系列01-OpenCV2.4.6 + VS2010开发环境配置】
- hadoop学习过程-2013.08.30.1--按照网页内容搜索出网页01--确定网页来源