Java爬虫学习1

 

第一部分:爬虫基础知识

通用网络爬虫:爬取对象从一些种子 URL 扩充到整个 Web,主要为门户站点搜索引擎和大型 Web 服务提供商采集数据

聚焦网络爬虫:选择性地爬行那些与预先定义好的主题相关的页面。(如搜索引擎基于关键字搜索)

增量网络爬虫:对已下载网页采取增量式更新和只爬行新产生的或者已经发生变化网页的爬虫。(如爬取帖子,每次只需爬取最近几天的内容;天气数据的采集;新闻数据的采集;股票数据的采集;通常在设计网络爬虫时,需要在数据库中,加入时间戳,基于时间戳上的先后,判断程序是否继续执行。

Deep Web 爬虫:指大部分内容不能通过静态链接获取,只有用户提交一些表单信息才能获取的 Web 页面。(需要模拟登陆的网络爬虫便属于这类网络爬虫,京东淘宝提交关键字、价格区间获取产品的相关信息等)

网络爬虫流程图描述:

提示:URL在Java爬虫中可以放入LinkedList或者List中;获取URL对应的网页内容时,需要使用响应的状态码判断是否获取数据。

爬行策略:一般为两种,深度优先搜索;广度优先搜索。

深度优先案例

广度优先(宽度优先) 示例

学习可参考书籍:

 

Java网络爬虫包括的基本知识:

  • Maven 的使用;
  • log4j 的使用;
  • 对象的创建;
  • 集合的使用;
  • 正则表达式的使用;
  • HTTP 状态码;
  • 其他。

Maven:用于项目管理及自动构建,方便管理项目中使用的开源jar包

Maven的使用

Maven 使用项目对象模型(Project Object Model,POM)来配置,项目对象模型存储在名为 pom.xml 的文件中。以 Java 为例,我们可以在 Eclipse 中创建一个 Maven 工程。其中,Maven Dependencies 便存放着由 Maven 管理的 Jar 包。

在pom文件中添加语句,工程的 Maven Dependencies 中自动下载了相关 Jar 包以及其依赖的 Jar 包。

可以在 Maven Repository 网站中检索想要的 Jar 包,以及 Maven 操作语句。

这里写图片描述

log4j 的使用:基于 Java 的日志记录工具

使用步骤:

  1. 使用 Maven 下载 log4j 的 Jar 包(<dependency>    <groupId>log4j</groupId>    <artifactId>log4j</artifactId>    <version>1.2.17</version></dependency>)
  2. 在 src 目录下创建 log4j.properties 文本文件,并做相关配置(关于每个配置的具体含义,读者可参考博文 《详细的 Log4j 使用教程》)( ### 设置###log4j.rootLogger = debug,stdout,D,E### 输出信息到控制抬 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n### 输出DEBUG 级别以上的日志到=error.log ###log4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = E://logs/log.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n### 输出ERROR 级别以上的日志到=error.log ###log4j.appender.E = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.E.File =E://logs/error.log log4j.appender.E.Append = truelog4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayoutlog4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n)

————————————————
版权声明:本文为CSDN博主「GitChat的博客」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/valada/article/details/81024987

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值