在我目前看来,对于爬虫的理解就是,在浏览器上输入一个url的时候,会发现是生成一些前端的代码界面,从而显示出来的。而爬虫就是获取这些前端界面,再进行对界面的筛选和使用。
“获取请求返回的页面信息,筛选出我们需要的数据”

参考了这份学习视频:https://www.bilibili.com/video/BV1La4y1x7Wm

所以这里用java来进行对页面的调用。
这里我使用了jsoup包,
首先是需要导入jsoup包的依赖
(它是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数)

<dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.11.3</version>
</dependency>

在看一些审查元素:

会发现这个就是我们要找的,div就是

再看看等下要获取的li元素

以及li下面的每一个标签

由于jd这个懒加载的问题没有解决,所以换成了另一个网站,结果还是一样的呢

    package PaChong;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import java.io.IOException;import java.net.MalformedURLException;import java.net.URL;public class HtmlParseUtil {public static void main(String[] args) throws IOException {//首先是获取网页 以京东的网页为例https://search.jd.com/Search?keyword=javaString url="http://search.dangdang.com/?key=java&act=input";//再是需要解析网页,就需要使用jsoup,参数一个是url 一个是时间//而这个返回的Document 就是页面对象Document parse = Jsoup.parse(new URL(url), 30000);//所以这里就可以根据id来获取了Element j_goodsList = parse.getElementById("search_nature_rg");//这里可以查看一下是否能获取到// System.out.println(j_goodsList.html());//然后就是获取所有的li元素,调用的是tag方法,其实很好奇,为什么这边是elements呢,可以是因为Elements li = j_goodsList.getElementsByTag("li");//然后再获取这些标签下的内容for(Element elements:li){//这里的elements就是一个个独立标签了,也就是每一个li//比如获取图片,eq就是取第一个就行了//为什么不能直接是类呢String img=elements.getElementsByTag("img").eq(0).attr("src");//String img = elements.getElementsByTag("source-data-lazy-img").eq(0).attr("src");//然后还有是价格,而价格从代码上看就是一个类,选第一个元素,而且转换成text格式String price = elements.getElementsByClass("price").eq(0).text();//还有标题String name = elements.getElementsByClass("name").eq(0).text();//还有一些细节String detail=elements.getElementsByClass("detail").eq(0).text();//然后就可以输出了System.out.println("=========================");System.out.println(img);System.out.println(price);System.out.println(name);System.out.println(detail);}}}

java之jsoup爬虫操作入门实战相关推荐

  1. Python3网络爬虫快速入门实战解析

    Python3网络爬虫快速入门实战解析 标签: python网络爬虫 2017-09-28 14:48 6266人阅读 评论(34) 收藏 举报 分类: Python(26) 作者同类文章X 版权声明 ...

  2. Python3网络爬虫快速入门实战解析(一小时入门 Python 3 网络爬虫)

    Python3网络爬虫快速入门实战解析(一小时入门 Python 3 网络爬虫) https://blog.csdn.net/u012662731/article/details/78537432 出 ...

  3. Java 定时任务调度(8)--ElasticJob 入门实战(ElasticJob-Lite使用)

    ElasticJob 是一个分布式调度解决方案,由 2 个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成.本文主要介绍 ElasticJob-Lite 的 ...

  4. python3 爬虫实例_【实战练习】Python3网络爬虫快速入门实战解析(上)

    原标题:[实战练习]Python3网络爬虫快速入门实战解析(上) 摘要 使用python3学习网络爬虫,快速入门静态网站爬取和动态网站爬取 [ 前言 ] 强烈建议:请在电脑的陪同下,阅读本文.本文以实 ...

  5. Python教程:网络爬虫快速入门实战解析

    建议: 请在电脑的陪同下,阅读本文.本文以实战为主,阅读过程如稍有不适,还望多加练习. 网络爬虫简介 网络爬虫,也叫网络蜘蛛(Web Spider).它根据网页地址(URL)爬取网页内容,而网页地址( ...

  6. Python3 网络爬虫快速入门实战解析

    点击上方"Python高校",关注 文末干货立马到手 作者:Jack Cui http://cuijiahua.com/blog/2017/10/spider_tutorial_1 ...

  7. 利用java的JSoup爬虫技术爬取网页信息

    简单讲解java的Jsoup爬虫技术来爬取网页的数据,简单来讲就是解释网页,一般学过xml的人都很容易理解. 第一步:我们要爬取网页的静态内容必须要了解网页的源码,也就是div之类的标签,因为我们是靠 ...

  8. Java MapReduce 基本计算操作实现实战

    Java MapReduce 基本计算操作实现实战 特别注意:  1.在运行代码的过程中注意自己本地Hadoop版本必须与服务器版本一致,否则会出现许多意向不到的问题;  2.数据之间不能有空行间隔; ...

  9. beautifulsoup网页爬虫解析_Python3 网络爬虫快速入门实战解析

    点击上方"Python高校",关注 文末干货立马到手 作者:Jack Cui http://cuijiahua.com/blog/2017/10/spider_tutorial_1 ...

最新文章

  1. python 搜索引擎Whoosh中文文档和代码 以及jieba的使用
  2. java gbk汉字 10进制,用java程序将GBK字符转成UTF-8编码格式
  3. 2021华为杯建模---总结
  4. Android 开发总结大全
  5. 句句真研—每日长难句打卡Day3
  6. Self-Supervised Curriculum Learning for Spelling Error Correction
  7. linux opendir php,php目录遍历函数opendir用法实例
  8. 【数字信号处理】基于matlab GUI IIR低通+FIR高通信号时域+频谱分析【含Matlab源码 1029期】
  9. 爱克发胶片_AGFA爱克发C7工业X射线胶片 工业胶片(图)
  10. Java指定屏幕区域截屏
  11. 符号Symbol介绍及应用
  12. Matlab中统计灰度值出现的次数
  13. PMIC驱动之—PMIC硬件相关知识
  14. 稳定的围棋服务器,中国古典围棋服务器对奕说明
  15. iOS 开发者必知的 75 个工具
  16. 将文件从VMWare虚拟机的Linux系统传到U盘
  17. 二维数组malloc与free
  18. APK部署手机上出现闪退现象
  19. 去角质剂和磨砂膏行业调研报告 - 市场现状分析与发展前景预测
  20. KMP字符串模式匹配

热门文章

  1. 如何有效解决windows无法访问指定设备
  2. 计算机组成原理(一):计算机系统体系结构
  3. liunx usb摄像头使用
  4. python一键替换_python 实现批量替换文本中的某部分内容
  5. Excel管理项目步骤,用Excel制作甘特图和自动报表来推进项目进度太牛了!
  6. Java数组02:数组的使用,多维数组,Arrays类,冒泡排序和稀疏数组
  7. 精准营销服务平台设计-基于大数据和AI的商业智能平台
  8. UNIX文件操作函数open、create、close、lseek简介
  9. Oracle账号注册、下载、安装与卸载
  10. Python实训报告:学生信息管理系统