java爬虫抓取动态网页(java网络爬虫基础入门的总结及解决方法)
优采云 发布时间: 2021-12-08 19:18java爬虫抓取动态网页(java网络爬虫基础入门的总结及解决方法)
刚开始接触java爬虫,这里总结一下网上搜索的一些理论知识
主要参考文章:Gitchat的java网络爬虫基础,好像是收费的,不贵,感觉内容对新手很友好。
一、爬虫介绍
网络爬虫是一种自动提取网页的程序。它从万维网上下载网页供搜索引擎使用,是搜索引擎的重要组成部分。
传统爬虫:
获取URL-》放入队列-》抓取网页,分析信息-》新增网址-》放入队列-》抓取网页,分析信息...-》满足一定条件时停止。
专注于爬虫:
根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接,放入URL队列等待被抓取。然后根据搜索策略从队列中选择下一个URL,重复...直到满足一定条件停止。另外,爬虫爬取的网页会被系统存储起来进行一定的分析、过滤、索引,以便后续的查询和还原。
与一般的网络爬虫相比,聚焦爬虫还需要解决三个问题:
爬网目标的描述或定义。网页或数据的分析和过滤。URL 的搜索策略。
网络爬虫设计有很多领域。我们需要掌握基本的编程语言(最好是已经有成熟API的语言),了解HTTP协议,了解web服务器、数据库、前端知识、网络安全等……
分类:
根据系统结构和实现技术,大致可以分为以下几类:通用网络爬虫、聚焦网络爬虫、增量网络爬虫、深度网络爬虫等。
通用网络爬虫:爬取对象从一些*敏*感*词*网址扩展到整个Web,主要是门户搜索引擎和大型Web服务商采集数据。
专注于网络爬虫:也称为主网络爬虫,是指有选择地抓取与预定义主题相关的页面,比上述一般的爬虫更具体。
Incremental web crawler:一种对下载的网页进行增量更新并且只抓取新生成或更改的页面的爬虫。它可以确保抓取的页面尽可能新。历史已经采集上一页不再重复采集。
常见情况:论坛订单评论数据采集(评论数据仅是用户最近几天或几个月的采集评论)
深网爬虫:是指大部分内容无法通过静态链接获取,而我们需要的大部分数据是网页动态链接生成的页面,即Deep Web信息。Deep Web 也是一个爬虫框架,这里暂时不赘述。
网络爬虫的爬取策略
深度优先搜索策略,广度优先搜索策略。