当前位置: 首页 > news >正文

Java爬虫

什么是爬虫?

通过请求,从而去获取互联网上的各种数据与资源,如文字,图片,视频。
本质上原理都一样,都是通过api请求,然后服务器就会发给你信息,然后你再根据这些信息去提取你想要的资源。
还有比如抢票,你只是通过发送请求,从而达到抢票的目的,但是并没有获取信息之类的,这也算是爬虫吧。
反正不重要,总而言之,爬虫简单说就是去请求接口,获取信息或进行一系列操作。

一.HttpClient,Jsoup,WebMagic

HttpClient--原始,请求完之后要自己用字符串处理工具或正则表达式去解析页面来提取自己想要的数据。
Jsoup--请求完之后有专门用来处理HTML的一套API,可以像前端一样的DOM一样操作和提取所获得页面的各个元素,从而来获得自己想要的信息。
WebMagic--还没学,不过可以参考一下别人的对比,简单说就是适合大规模爬取,效率高之类的。
2023年流行的Java网页抓取库:Jsoup、HtmlUnit和WebMagic

我学的主要是Jsoup
入门视频:【狂神说Java】Jsoup爬虫入门实战_哔哩哔哩_bilibili

二.爬取的策略和实战中会遇到的问题

语言只是一个工具,最重要是解决问题的思路,有了思路剩下的就是了解api(现在有了gpt了解api也不难了)和写代码了。

记住一个知识点并非看完整套视频再去学习,很多时候实战是更好的学习方式。

爬虫的话最先要学会用好游览器看两个东西,一个是请求,打开检查的网络就可以抓取请求,另一个是页面的源代码,要知道那个元素对应哪个标签,这样才可以准确爬取对应的信息。

除此之外,还要了解restful api,知道get,post,delete等请求,知道query参数和json参数。

技巧一:添加请求头,不少爬取除了请求的链接外都还要添加请求头。

【1】场景一:需要登录
就是模拟发送post请求,然后就会返回cookie或者token,获取cookie并加入下一个请求的请求头。

【2】场景二:UA伪装
UA:User-Agent---请求载体的身份标识,有些网站会检验这个请求头来判断是否是爬虫。
所以我们要加入User-Agent请求头,参数通过游览器查看请求获取。

技巧二:有些网站会通过IP请求频率来封IP,我们可以提高抓取的时间间隔。


 

http://www.lryc.cn/news/109971.html

相关文章:

  • 海外应用商店优化实用指南之关键词
  • element+vue 之动态form
  • winform学习(3)-----Windows窗体应用和Windows窗体应用(.Net Framework)有啥区别?
  • 虚拟化中的中断机制:X86与PIC 8259A探索(上)
  • 软件外包开发语言排行榜
  • BI技巧丨利用OFFSET计算同环比
  • 整理mongodb文档:collation
  • 【LangChain】Prompts之Prompt templates
  • 【数字IC基础】时序违例的修复
  • 深度学习实战46-基于CNN的遥感卫星地图智能分类,模型训练与预测
  • Node.js-fs模块文件创建、删除、重命名、文件内容的写入、读取以及文件夹的相关操作
  • LIN协议总结
  • Redis BigKey案例
  • ThinkPHP v6.0.8 CacheStore 反序列化漏洞
  • Spring 事务详解(注解方式)
  • 华为云waf 使用场景
  • ?.的写法 后缀修饰符
  • org.apache.hadoop.hive.ql.exec.DDLTask. show Locks LockManager not specified解决
  • Adaptive autosar 都有哪些模块?各有什么功能?
  • C++ 动态内存分配
  • 设计模式——面向对象的7大设计原则
  • 智慧防汛,数字科技的力量
  • “中国软件杯”飞桨赛道晋级决赛现场名单公布
  • JDBC处理批量数据提高效率
  • 使用css和js给按钮添加微交互的几种方式
  • react面试之context的value变化时,内部所有子组件是否变化
  • 使用okHttp不走代理问题
  • python moviepy 自动化音视频处理实践
  • 聊聊混合动力汽车和纯电骑车的优势和劣势
  • 算法训练Day39|62.不同路径 ● 63. 不同路径 II