1.导入依赖

    <dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.14.3</version> <!-- or latest version --></dependency>

2.静态工具类

public class ProxyIP {public static String getOne() throws IOException {String Proxyurl ="填入提取链接 一次获取一个 ";String ip = Jsoup.connect(Proxyurl).get().body().text();return ip;}}

3. 爬取页面信息

4.使用 Jsoup 爬取内容

package com.sgg.main;import com.sgg.main.proxy.ProxyIP;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Attributes;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.nodes.Node;
import org.jsoup.select.Elements;import java.io.IOException;
import java.net.Proxy;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;public class Index {public static void main(String[] args) throws IOException {ArrayList<String> urls = new ArrayList<>();ArrayList<String> names = new ArrayList<>();//            创建httpClient实例String indexUrl = "https://xxxxxxxxxx";Document document = Jsoup.connect(indexUrl).get();Elements article = document.getElementsByTag("article");article.forEach(new Consumer<Element>() {@Overridepublic void accept(Element element) {Node node = element.childNode(0);Node parentNode = node.childNode(0).childNode(0).parentNode();String nameUrl = parentNode.childNode(0).childNode(0).toString();names.add(nameUrl);Attributes attributes = node.attributes();urls.add(href);}});//开启线程ExecutorService executorService = Executors.newFixedThreadPool(urls.size());for (int i = 0; i < urls.size(); i++) {//每个连接地址使用一个线程int finalI = i;executorService.execute(() -> {while (true) {String[] split = null;try {split = ProxyIP.getOne().split(":");} catch (IOException e) {e.printStackTrace();}try {//搜索引擎搜索帖子  优化搜索排名String decode = URLEncoder.encode(names.get(finalI), "utf-8");// 搜索RULString searchUrl ="https:xxxxxxxxxxxx";Connection.Response search = Jsoup.connect(searchUrl).proxy(split[0], Integer.parseInt(split[1])).ignoreContentType(true).execute();Connection.Response response = Jsoup.connect(urls.get(finalI)).proxy(split[0], Integer.parseInt(split[1])).ignoreContentType(true).execute();System.out.println(names.get(finalI).substring(0,5)+" 搜索状态: "+search.statusCode()+"  --->  "+urls.get(finalI).split("details/")[1] + "  访问状态 " + response.statusCode());try {TimeUnit.SECONDS.sleep(30+ new Random().nextInt(10));} catch (InterruptedException e) {}} catch (IOException e) {System.out.println(names.get(finalI).substring(0,5)+"     "+urls.get(finalI).split("details/")[1] + "   访问出错了");System.out.println(e.getMessage());}}});}}}

使用jsoup入门java爬虫 案例相关推荐

  1. JSOUP 教程—— Java爬虫,简易入门,秒杀htmlparser

    转载自 JSOUP 教程-- Java爬虫,简易入门,秒杀htmlparser 关于爬虫,之前一直用做第一个站的时候,记得那时候写的 爬虫  是爬sina 的数据,用的就是 htmlparser  可 ...

  2. JAVA爬虫案例——JSOUP爬取图片并使用v-viewer实现图片预览

    前言 网络爬虫是大数据时代收集数据的一种有效手段,合理合法的运用技术手段获取网络数据,实现数据的再利用也是程序员的一项重要技能.本节我们使用java环境下的jsoup实现网络数据的爬取,主要是图片数据 ...

  3. java爬虫案例——SpringBoot使用HttpClient、Jsoup爬取京东手机数据

    文章目录 前言 一.准备工作 二.项目文件 1.项目依赖 2.项目配置文件 3.pojo 4.dao接口 5.service接口及其实现类 6.HttpClient封装工具类 7.爬取任务实现 8.启 ...

  4. list的add方法 ,foreach循环添加map---List.add(map)(通过一个java爬虫案例说明)

    案例:一个java爬虫程序 1.案例说明 做了一个爬取某程的旅游网站的java程序,程序主要爬取安庆酒店的某些相关信息. 材料准备:jsoup-1.8.1.jar(需要此架包的联系博主,有任何问题欢迎 ...

  5. Jsoup学习 JAVA爬虫爬取美女网站 JAVA爬虫爬取美图网站 爬虫

    最近对爬虫起了兴趣,但是网上都说做爬虫最好得语言是py.但是我只会java,所以就想能不能用java实现一个爬虫,百度搜索发现,其实java也有很多优秀得开源爬虫框架,包括Gecco,webmagic ...

  6. 基于Jsoup的Java爬虫-爬取必应壁纸网站的壁纸(Java静态壁纸爬虫实例)

    准备阶段 1.必应壁纸网站:https://bing.ioliu.cn(爬取对象网站) 2.Jsoup包下载地址:https://jsoup.org/download(以下代码需要用到该包,记得导入包 ...

  7. python3.6下载百度云_Python3.6零基础入门与爬虫案例开发教程

    全网最热的Python3入门+进阶 第1章 Python入门导学 介绍Python的特性.优点.缺点.前景以及课程的内容.重点和特色. 第2章 Python环境安装 一键安装Python的编译环境,写 ...

  8. 格力与奥克斯空调在京东的选购指数(java爬虫案例-代码实现)

    要么不做,要做就做完 此项目目录结构 项目分析 环境准备 开发准备 数据库表 添加依赖 添加配置文件 编写pojo 编写dao 编写service接口 service实现类 StringBoot引导类 ...

  9. 基于jsoup的java爬虫-爬取豆瓣小组租房信息

    主要框架为springboot+mybatis+jsoup jsoup官方文档:https://www.open-open.com/jsoup/ 爬取的豆瓣网址为:https://www.douban ...

最新文章

  1. Spring.net使用说明
  2. Django 出现 “multiple primary key defined”报错
  3. PySide 简易教程三-------动手写起来
  4. Java 查看指定文件最后的修改时间
  5. 在线教育行业内容营销洞察白皮书(2021年版)
  6. 多功能网址导航源码 包含交易系统等多功能
  7. 新瓶旧酒ASP.NET AJAX(1) - 简单地过一下每个控件(ScriptManager、ScriptManagerProxy
  8. MongoDB学习笔记lt;七gt;
  9. Mac电脑:Android Studio 连接 MUMU 网易模拟器
  10. centos7 go yum 安装_Centos7.6从头开始安装nvidiadocker
  11. can't resolve symbol 'R' ...
  12. linux雨滴桌面,Rainmeter(雨滴桌面秀)
  13. PayPal支付开发
  14. 【计算机视觉】 opencv双目视觉 立体视觉 三维重建 之理论篇
  15. AmazeUI 图标的示例代码
  16. java基于springboot+vue的校园一卡通管理系统 ssm nodejs
  17. HTTP常见状态码 2xx 3xx 4xx 5xx
  18. 计算机创新论文特点,计算机应用技术的创新分析
  19. 管理软件开发的最高境界,那就是“无代码开发”
  20. 融360第三季度营收4.44亿 营销费用占比大幅降低

热门文章

  1. WIN10安装postgresql启动服务失败解决
  2. 如何从窗口句柄得到窗口的指针
  3. 日期调用API,查询是否是节假日
  4. Camshift知识点
  5. java中的抽象到底是个啥?
  6. 二阶系统表达式 稳态灵敏度
  7. Go 语言入门三部曲(一):能看懂 Go 语言
  8. tf.nn.xw_plus_b()
  9. SpringBoot整合rabbitmq使用案例
  10. RBF神经网络简单介绍与MATLAB实现