Java爬虫~~爬虫伪代码
2016-02-27 13:25
375 查看
之前一直有个同事想让我教教他怎么把csdn上的数据爬下来的,我在这里就简单的说一下~~话说做爬虫我也不是专业的~~业余的~~有什么问题帮我指正就好~~233333
为什么是伪代码呢?就是给大家把原理讲讲~~真实代码我就不在这里写了~~大家自己琢磨去吧~~
需要如下几个工具
1、缓存:我采用的是redis~~经常做后台习惯用了~~23333
2、dom解析工具
3、网络链接工具
话说后面两个我直接就用jsoup了
我个人的话是先做了一个缓存url方法
类的样子大概是这样的
又做了一个下载数据的
这是个最简单的小栗子
但是呢~~你如果真用这个去写个爬虫的话~~
额~~为什么呢~~如果这么递归下去~~肯定栈溢出了~~
所以还有好多工作要做~~2333333
为什么是伪代码呢?就是给大家把原理讲讲~~真实代码我就不在这里写了~~大家自己琢磨去吧~~
需要如下几个工具
1、缓存:我采用的是redis~~经常做后台习惯用了~~23333
2、dom解析工具
3、网络链接工具
话说后面两个我直接就用jsoup了
我个人的话是先做了一个缓存url方法
类的样子大概是这样的
//这也可以作为一个入口 save (url){ if(redis.get(url) 存在){ return }else{ redis.put(url); savedate(url); } }
又做了一个下载数据的
savedate(url){ dom = 读取(url); <!-- 简单的插入一个html注释提示一下 如果天真的以为这样就能下载csdn上的数据就是真的太年轻呢~ 首先我做了一步处理 User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4 给user-agent添加上~~大家如果不知道这是什么的~~百度一下2333 --> dom.存储你想存的数据(); List = dom.读取(<a href>); for(String url:list){ //递归调用 save(url); } }
这是个最简单的小栗子
但是呢~~你如果真用这个去写个爬虫的话~~
额~~为什么呢~~如果这么递归下去~~肯定栈溢出了~~
所以还有好多工作要做~~2333333
相关文章推荐
- 一种C#生成符合Java规则的二进制文件方法
- Spring 4.2.4.RELEASE MVC 学习笔记 - 5 - Log4j(咋个办呢 zgbn)
- java高并发程序设计
- Java中线程的操作方法
- [JAVA · 初级]:3.转义字符
- Struts2与Hibernate的整合实例_2
- java垃圾回收机制(学习总结)
- disruptor实现细节及源码分析
- 在Eclipse中使用JUnit4进行单元测试(中级篇)
- eclipse 自动展开源文件的位置
- Struts2与Hibernate的整合实例_1
- java枚举使用详解
- java(18)--自定义标签调用
- java使用ftpapi上传文件
- 问题: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no
- java JDK8 学习笔记——第18章 自定义泛型、枚举与注释
- RxJava 转换操作符scan
- 使用javamail实现发送邮件
- java中的==、equals和hashCode以及hashCode生成
- Java并发-类库新组件 - Semaphore 理解:计数信号量