之前一直有个同事想让我教教他怎么把csdn上的数据爬下来的,我在这里就简单的说一下~~话说做爬虫我也不是专业的~~业余的~~有什么问题帮我指正就好~~233333
为什么是伪代码呢?就是给大家把原理讲讲~~真实代码我就不在这里写了~~大家自己琢磨去吧~~
需要如下几个工具
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