Java 数据抓取

大家好我是苏麟 , 今天聊聊数据抓取 . 

大家合理使用

注意,爬虫技术不能滥用,干万不要给别人的系统造成压力、不要侵犯他人权益!

数据抓取

实质上就是java程序模拟浏览器进行目标网站的访问,无论是请求目标服务器的接口还是请求目标网页内容,都是要在java程序中对数据进行解析。最简单的抓取方式有httpclient请求目标服务器接口,jsoup请求目标页面内容,把请求的数据进行解析然后入库。另外要做好爬取的实时监控,如果URL请求失败3次,就放弃该URL的抓取。

获取不同类型的数据源

数据抓取流程

1.分析数据源,怎么获取?
2.拿到数据后,怎么处理?
3.写入数据库等存储

数据抓取的几种方式

1.直接请求数据接口(最方便),可使用 HttpClient,OKHttp,RestTemplate,Hutool(https://hutool.cn/)

等客户端发送请求

2.等网页渲染出明文内容后,从前端完整页面中解析出需要的内容

3.有一些网站可能是动态请求的,他不会一次性加载所有的数据,而是要你点某个按钮、输入某个验证码才会显示出数据。可使用无头浏览器:selenium、nodejs puppeteer

Hutool 工具 : 入门和安装 (hutool.cn)

HttpClient : Apache HttpComponents – HttpClient Overview

OKHttp : Overview - OkHttp (square.github.io)

注意,爬虫技术不能滥用,干万不要给别人的系统造成压力、不要侵犯他人权益!

获取文章

内部没有,可以从互联网上获取基础数据=>爬虫

'一般的网站会发出http请求我们找到路径 , 我们在IDEA里调用发送http请求的工具就好了 . 

在代码里根据自己的需求完成操作 .


这期就到这里 , 下期见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/361657.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python基础——池

池的介绍: 提前创建进程池,防止创建的进程数量过多导致系统性能受到影响,在系统执行任务时,系统会使用池中已经创建进程/线程,从而防止资源的浪费,创建的进程/线程可以让多个进程使用,从而降低…

Unity技术手册-UGUI零基础详细教程-Canvas详解

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

备战蓝桥杯---数据结构与STL应用(入门4)

本专题主要是关于利用优先队列解决贪心选择上的“反悔”问题 话不多说,直接看题: 下面为分析: 很显然,我们在整体上以s[i]为基准,先把士兵按s[i]排好。然后,我们先求s[i]大的开始,即规定选人数…

电源模块欠压保护点测试方法分享 纳米软件

电源欠压保护原理 欠压保护是指当电源电压低于一定值时,电源的保护功能会及时断开电路,避免设备受到损坏。电源欠压保护一般是通过一个或多个传感器来检测电压,当电压低于设定值时就会触发电源的保护功能,断开电路,保护…

Git--07--GitExtension

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、GitExtension下载GitExtension官网下载教程 二、GitExtension安装三、GitExtension配置四、GitExtension使用 一、GitExtension下载 官网下载: http…

Docker中安装MySql的遇到的问题

目录 一、mysql查询中文乱码问题 1. 进入mysql中进行查看数据库字符集 2. 修改 my.cnf 中的配置 3. 重启mysql容器,使得容器重新加载配置文件 4. 测试结果 二、主从同步中遇到的问题 2.1 Slave_IO_Running:Connecting 的解决方案 1. 确定宿主机防火墙开放my…

嵌入式学习第十四天!(结构体、共用体、枚举、位运算)

1. 结构体: 1. 结构体类型定义: 嵌入式学习第十三天!(const指针、函数指针和指针函数、构造数据类型)-CSDN博客 2. 结构体变量的定义: 嵌入式学习第十三天!(const指针、函数指针和…

推荐一个好用的旧版本软件安装包下载地址

最近要下载旧版本的mysql和postman,发现官网和其他博客里边提供的地址,要不都非常难找到相应的下载链接,要不就是提供的从别的地方复制过来的垃圾教程,甚至有的下载还要积分,反正是最后都没下载成功,偶然发…

安全通道堵塞识别摄像机

当建筑物的安全通道发生堵塞时,可能会给人员疏散和救援带来重大隐患。为了及时识别和解决安全通道堵塞问题,专门设计了安全通道堵塞识别摄像机,它具有监测、识别和报警功能,可在第一时间发现通道堵塞情况。这种摄像机通常安装在通…

Mysql-索引创建,索引失效案例

索引创建建议 1 什么情况下需要创建索引? 频繁出现在where 条件字段,order排序,group by分组字段select 频繁查询的列,考虑是否需要创建联合索引(覆盖索引,不回表)多表join关联查询&#xff0…

【PyRestTest】高级使用

本节主要涉及PyRestTest的高级特征的详细使用,主要指:generators(生成器), variable binding(变量绑定), data extraction(数据提取), content validators(文本验证) 它们是如何组合在一起的? 模板和上下文 测试和基准测试可以使用变量来模板化动态配置。使用基础的…

OSPF排错

目录 实验拓扑图 实验要求 实验排错 故障一 故障现象 故障分析 故障解决 故障二 故障现象 故障分析 故障解决 故障三 故障现象 故障分析 故障解决 故障四 故障现象 故障分析 故障解决 故障五 故障现象 故障分析 故障解决 故障六 故障现象 故障分析 …

区块链游戏解说:什么是 SecondLive

数据源:SecondLive Dashboard 作者:lesleyfootprint.network 什么是 SecondLive SecondLive 是元宇宙居民的中心枢纽,拥有超过100 万用户的蓬勃社区。它的主要使命是促进自我表达,释放创造力,构建梦想中的平行宇宙…

【HTML】自定义属性(data)

自定义属性 data: 的用法(如何设置,如何获取) ,有何优势? data-* 的值的获取和设置,2种方法: 传统方法 getAttribute() 获取 data- 属性值; setAttribute() 设置 data- 属性值getAttribute() 获取 data- 属性值; setAttribute()…

腾讯云SSL证书在阿里云添加域名DNS解析

场景说明 在阿里云申请并备案了域名,这个域名理论上可以在任何服务器上进行绑定。应用服务器部署到腾讯云,并在腾讯云申请了SSL证书,从而完成HTTPS转化。那么问题来了,腾讯提供的免费版SSL证书是一年有效期,到期后就需…

Cadence——布线部分相关教程

(一)PCB布线叠层与阻抗设计 PCB布线要区分有阻抗和无阻抗这个是根据频率和速率来区分,一般达100M以上就是有阻抗,单端信号一般是五十欧姆,差分信号一般一百欧姆 叠成是多层板由不同的介质压合而成,介质是&…

SD-WAN技术:网络升级的智慧选择

在移动办公、云计算技术和多元化的应用交付方式不断普及的今天,企业网络正变得越来越错综复杂,充满了不可预测性。为了跟上这一网络发展的步伐,IT部门需要深刻反思网络建设的方式,而定义软件广域网(SD-WAN)…

Ubuntu系统硬盘分区攻略(磁盘分区、RAID磁盘阵列、RAID阵列、固态硬盘分区、机械硬盘分区、swap分区、swap交换分区)

文章目录 分区需求分区方案分区顺序相关疑问swap分区不是应该放在最后吗?我安装系统分区的时候,上面有available devices,下面有create software raid(md),我该用哪个?我available devices下面有个893G的固态&#xff…

C++数据结构与算法——链表

C第二阶段——数据结构和算法,之前学过一点点数据结构,当时是基于Python来学习的,现在基于C查漏补缺,尤其是树的部分。这一部分计划一个月,主要利用代码随想录来学习,刷题使用力扣网站,不定时更…

推特账号被冻结怎么办?检查IP是否正常

Twitter 拥有庞大的用户群和日常内容流,是沟通、网络和营销的重要平台。然而,处理其限制和潜在的帐户问题可能很棘手。有许多跨境社媒小伙伴反馈,账号无故被冻结,导致内容与客户尽失!其实除了账户养号、被举报、广告信…