爬去网络数据的一般思路
2017-07-31 18:03
302 查看
前段时间一直在做网络爬虫,我也总结了一些心得分享一下。在做网络爬虫的过程中,我更加深入体会了html,EL表达式等javaweb技术的本质原理,对提高我的编程水平的提升有了非常大的帮助。后期在爬虫优化中采用并行策略,提高系统效率。
从本质上看一切请求都是在获取数据,那么从技术实现角度来划分我个人觉得应该分为两点:
一、html文档数据
二、ajax请求json或者其他数据。
下面仔细分析一下:
对于html文档,推荐使用jsoup来解析html元素,另外jsoup自身也具备数据获取功能,整个开发功能都特别简单。对于ajax请求接口获取json获取其他数据可以推荐使用fastjson来解析数据。
在抓取数据过程中,比较难把握的一点是:异常情况的处理。某一时刻因为机器响应迟钝或者网络情况不良或者请求参数异常等种种情况出现的异常情况,是否需要重试机制等等问题都是需要在前期规划好的。
对于爬虫项目逻辑复杂的地方不在于取数据,而在于取到数据后的解析办法。另外这种爬虫数据由于数据量比较大,对于大数据的处理和存储也是一个比较大的难度。
从本质上看一切请求都是在获取数据,那么从技术实现角度来划分我个人觉得应该分为两点:
一、html文档数据
二、ajax请求json或者其他数据。
下面仔细分析一下:
对于html文档,推荐使用jsoup来解析html元素,另外jsoup自身也具备数据获取功能,整个开发功能都特别简单。对于ajax请求接口获取json获取其他数据可以推荐使用fastjson来解析数据。
在抓取数据过程中,比较难把握的一点是:异常情况的处理。某一时刻因为机器响应迟钝或者网络情况不良或者请求参数异常等种种情况出现的异常情况,是否需要重试机制等等问题都是需要在前期规划好的。
对于爬虫项目逻辑复杂的地方不在于取数据,而在于取到数据后的解析办法。另外这种爬虫数据由于数据量比较大,对于大数据的处理和存储也是一个比较大的难度。
相关文章推荐
- 关于加载无网络图与无数据图设计思路,点击重新加载方法实现
- Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
- iOS- 网络访问JSON数据类型与XML数据类型的实现思路及它们之间的区别
- 李洪强iOS开发-网络新闻获取数据思路回顾
- json的作用:按规定格式保存js语言中的一组数据并转换为字符串(json是种特殊的容器,一般保存对象和数组数据(可以嵌套),并把它们装换为字符串在网络中传输?))
- 一般数据的神经网络(小规模)
- 获取手机APP对网络访问数据的一个思路
- [转贴]黑客技术:网络入侵一般步骤及思路
- 网络数据自动备份系统的设计思路
- 网络入侵一般步骤及思路
- [转贴]黑客技术:网络入侵一般步骤及思路
- 标准功能模块组件 -- “文档管理组件,网络文档管理,网络存储”,B\S版本组件可独立运行,也可集成到其他项目里,数据结构清晰思路严谨
- iOS- 网络访问JSON数据类型与XML数据类型的实现思路及它们之间的区别
- 标准功能模块组件 -- “文档管理组件,网络文档管理,网络存储”,B/S版本组件可独立运行,也可集成到其他项目里,数据结构清晰思路严谨
- 标准功能模块组件 -- “文档管理组件,网络文档管理,网络存储”,B/S版本组件可独立运行,也可集成到其他项目里,数据结构清晰思路严谨
- 网络入侵一般步骤及思路
- Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
- 循环计算”时、日、月、年“数据的方法思路
- 只要不涉及到网络数据下载,ios 应用程序的运行速度还是蛮快的。当你的程序还是运行缓慢时,一定要要留意,是否有访问网络。
- [置顶] 网络系列二 通过wireshark学习三次握手、四次挥手、数据传输