零基础写Java知乎爬虫之准备工作

 更新时间:2014年11月07日 09:48:35   投稿:hebedich  
上个系列我们从易到难介绍了如何使用python编写爬虫,小伙伴们反响挺大,这个系列我们来研究下使用Java编写知乎爬虫,小伙伴们可以对比这看下。

开篇我们还是和原来一样,讲一讲做爬虫的思路以及需要准备的知识吧,高手们请直接忽略。

首先我们来缕一缕思绪,想想到底要做什么,列个简单的需求。

需求如下:

1.模拟访问知乎官网(http://www.zhihu.com/

2.下载指定的页面内容,包括:今日最热,本月最热,编辑推荐

3.下载指定分类中的所有问答,比如:投资,编程,挂科

4.下载指定回答者的所有回答

5.最好有个一键点赞的变态功能(这样我就可以一下子给雷伦的所有回答都点赞了我真是太机智了!)

那么需要解决的技术问题简单罗列如下:

1.模拟浏览器访问网页

2.抓取关键数据并保存到本地

3.解决网页浏览中的动态加载问题

4.使用树状结构海量抓取知乎的所有内容

好的,目前就想了这些。

接下来就是准备工作了。

1.确定爬虫语言:由于以前写过一系列爬虫教程(点击这里),百度贴吧,糗事百科,山东大学的绩点查询等都是用python写的,所以这次决定使用Java来写(喂完全没有半毛钱联系好吗)。

2.科普爬虫知识:网络爬虫,即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛通过网页的链接地址来寻找网页。具体的入门介绍请(点击这里)。

3.准备爬虫环境:Jdk和Eclipse的安装和配置就不多说啦。这里啰嗦一句,一个好用的浏览器对于爬虫来说非常重要,因为首先你需要自己浏览网页知道你需要的东西在哪里,你才能告诉你的爬虫们去哪里怎么爬。个人推荐火狐浏览器,或者谷歌浏览器,它们的右键审查元素和查看源代码的功能都非常强大。

下面我们开始正式的爬虫之旅!~具体讲些什么呢,恩,这是个问题,让我好好想想,别急^_^

相关文章

  • Java ClassLoader类加载器基础详解

    Java ClassLoader类加载器基础详解

    这篇文章主要为大家介绍了Java ClassLoader类加载器基础详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Java Socket聊天室编程(一)之利用socket实现聊天之消息推送

    Java Socket聊天室编程(一)之利用socket实现聊天之消息推送

    这篇文章主要介绍了Java Socket聊天室编程(一)之利用socket实现聊天之消息推送的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • Java利用递归实现树形结构的工具类

    Java利用递归实现树形结构的工具类

    有时候,我们的数据是带有层级的,比如常见的省市区三级联动,就是一层套着一层。而我们在数据库存放数据的时候,往往是列表形式的,这个时候可能就需要递归处理为树形结构了。本文就为大家介绍了Java利用递归实现树形结构的工具类,希望对大家有所帮助
    2023-03-03
  • Spring Cloud 通过 Gateway webflux实现网关异常处理

    Spring Cloud 通过 Gateway webflux实现网关异常处理

    在某一个服务中出现异常,通过@ControllerAdvice + @ExceptionHandler 统一异常处理,即使在微服务架构中,也可以将上述统一异常处理放入到公共的微服务中,这样哪一个微服务需要,直接引入模块,本文重点介绍Spring Cloud 通过 Gateway webflux实现网关异常处理,一起看看吧
    2023-11-11
  • 简单谈谈Java遍历树深度优先和广度优先的操作方式

    简单谈谈Java遍历树深度优先和广度优先的操作方式

    这篇文章主要介绍了简单谈谈Java遍历树深度优先和广度优先的操作方式的相关资料,需要的朋友可以参考下
    2023-03-03
  • JDK8新出Optional类的方法探索与思考分析

    JDK8新出Optional类的方法探索与思考分析

    这篇文章主要为大家介绍了JDK8新出Optional类的发方法示例探索与思考分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • java实现插入排序算法

    java实现插入排序算法

    插入排序算法是一个对少量元素进行排序的有效算法。插入排序的工作原理与打牌时整理手中的牌的做法类似,开始摸牌时,我们的左手是空的,接着一次从桌上摸起一张牌,并将它插入到左手的正确位置。
    2015-04-04
  • java 中Spark中将对象序列化存储到hdfs

    java 中Spark中将对象序列化存储到hdfs

    这篇文章主要介绍了java 中Spark中将对象序列化存储到hdfs的相关资料,需要的朋友可以参考下
    2017-06-06
  • SpringBoot3整合mybatis-plus的实现

    SpringBoot3整合mybatis-plus的实现

    MyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,本文主要介绍了Mybatis-Plus3.x的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • SpringMVC中重定向model值的获取方式

    SpringMVC中重定向model值的获取方式

    这篇文章主要介绍了SpringMVC中重定向model值的获取方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12

最新评论