一.简单介绍爬虫
网络爬虫(Web Crawler),又称为网络蜘蛛(Web Spider)或 Web 信息采集器,是一种按照一定规则,自动抓取或下载网络信息的计算机程序或自动化脚本,是目前搜索引擎的重要组成部分。
我的这个demo 是基于Jsoup做个简单实现java爬虫的
jsoup是一款Java的HTML解析器,主要用来对HTML解析 jsoup 中文官网

王者荣耀官网:https://pvp.qq.com/

先导入maven依赖

<!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->

<dependency>

<groupId>org.jsoup</groupId>

<artifactId>jsoup</artifactId>

<version>1.13.1</version>

</dependency>

import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;

public class ReptilePicImgs {
    public static void main(String[] args) throws IOException {
        long t1 = System.currentTimeMillis();
        Connection connection = Jsoup.connect("https://pvp.qq.com/web201605/herolist.shtml");
        long t2 = System.currentTimeMillis();
        System.out.println("创建连接的时间:"+(t2-t1)+"毫秒");
        Document document = connection.get();
        long t3 = System.currentTimeMillis();
        System.out.println("读取document信息所用时间:"+(t3-t2)+"毫秒");
        Element elementUL = document.selectFirst("[class=herolist clearfix]");
        Elements elementsLis = elementUL.select("li");
        int size = 0;
        for(Element elementLi : elementsLis) {
            Element elementA = elementLi.selectFirst("a");
            String href = elementA.attr("href");

String heroName = elementA.text();

String netPath = "https://pvp.qq.com/web201605/" + href;

Connection newConnection = Jsoup.connect(netPath);

Document newDocument = newConnection.get();

Element div = newDocument.selectFirst("[class=zk-con1 zk-con]");

String divStyle = div.attr("style");
            String backgroundUrl = divStyle.substring(divStyle.indexOf("'") + 1, divStyle.lastIndexOf("'"));
            //System.out.println(backgroundUrl);

Element picUl = newDocument.selectFirst("[class=pic-pf-list pic-pf-list3]");
            String allName = picUl.attr("data-imgname");
            allName = allName.replace("|","-");
            String[] preNames = allName.split("-");
            for(int i = 0;i<preNames.length;i++){
                if(preNames[i].contains("&")){
                    preNames[i] = preNames[i].substring(0,preNames[i].lastIndexOf("&"));
                }
            }
            String[] urldatas = new String[preNames.length];
            int skinNum = preNames.length;
            for (int i = 0;i<skinNum;i++){
                urldatas[i] = backgroundUrl.replace("1.jpg",String.valueOf(i+1)+".jpg");
                //System.out.println(urldatas[i]);
            }
            //开始下载:
            for(int i = 0;i<preNames.length;i++){
                String lastName = heroName+"-"+preNames[i];
                System.out.println("下载:<<"+lastName+">>,图片路径:-->"+urldatas[i]);
                URL url = new URL("https:"+urldatas[i]);
                //根据这个url地址,创建一个输入流
                InputStream inputStream = url.openStream();
                FileOutputStream fileOutputStream = new FileOutputStream("C://wangzhe//"+lastName+".jpg");
                //需要创建一个byte数组
                byte[] b = new byte[1024];
                //读取到的数据临时存放在b字节数组内
                int count = inputStream.read(b);//count 指的是读取的有效字节个数
                while (count!=-1){
                    fileOutputStream.write(b,0,count);

fileOutputStream.flush();

count = inputStream.read(b);
                }
                fileOutputStream.close();
                inputStream.close();
                size++;//记录总共下载的图片个数
            }
        }
        long t4 = System.currentTimeMillis();
        double time = (double) (t4-t1)/1000;
        System.out.println("恭喜您已完成全部下载,共耗时:"+time+"秒,下载图片"+size+"张");
    }
}

java爬取王者荣耀全皮肤图片相关推荐

  1. 【云云怪】第5个项目:爬取王者荣耀全皮肤图片

    [项目预览] [创作背景] 自上一个项目(项目4)功败垂成之后,我花了挺多时间调试,找了一个信任我的小伙伴,帮我测试,我到底能不能通过小程序偷到他电脑里的东西.直到学到了爬虫,我对偷东西小程序的热情一 ...

  2. 一键爬取王者荣耀全皮肤高清图片【方法一】

    文章目录 前言 一.爬虫是什么? 二.使用步骤 1.引入库 2.访问的URL 3.爬取思路 三.皮肤URL(需要手动找出) 完整代码 四.效果展示 总结 前言 相信很多小伙伴们都喜欢玩王者荣耀这款MO ...

  3. 教你用python爬取王者荣耀英雄皮肤图片,并将图片保存在各自英雄的文件夹中。(附源码)

    教你用python爬取王者荣耀英雄皮肤图片,并将图片保存在各自英雄的文件夹中.(附源码) 代码展示: 保存在各自的文件夹中 美么? 让我们开始爬虫之路 开发环境 windows 10 python3. ...

  4. python爬取王者_python爬取王者荣耀全皮肤的简单实现代码

    相信现在很多人都喜欢玩王者荣耀这款手游,里面好看的皮肤令人爱不释手.那么你有没有想过把王者荣耀高清皮肤设置为壁纸,像下面这样 今天就来教大家如何利用python16行代码,实现王者荣耀全部高清皮肤的下 ...

  5. Python爬虫基础--爬取王者荣耀英雄皮肤图片

    文章目录 思路分析 涉及到的知识点 Json数据说明 `herolist.json`:英雄列表 皮肤图片尺寸分析 程序说明 代码 结果(数据)分析 声明 这里只是简单介绍主要内容,详见github,仓 ...

  6. python爬取王者荣耀全皮肤,漫客的福利!

    先明确思路: 寻找皮肤图片地址 1 找到英雄列表 2 找到英雄皮肤地址 下载图片 1 英雄有几个皮肤 2 下载文件 进入正题:如何爬取王者荣耀的英雄皮肤照片? 分为两步: 找到皮肤图片的地址 下载图片 ...

  7. 一键爬取王者荣耀全皮肤高清图片【方法二】

    爬取王者荣耀官网皮肤[爬虫] 上次我们讲了爬虫的定义以及爬取王者荣耀皮肤的思路. 今天我们换一种方式来爬取同样的内容.大体上思路和方法一相同. 方法一传送门:方法一 方法二 # 网址:https:// ...

  8. python爬取王者荣耀全皮肤高清无水印图片

    前期准备:安装requests库,我猜你可能需要: Python网络爬虫与信息提取笔记01-Requests库入门 Windows下安装pip和换源 import os import requests ...

  9. python-scrapy爬虫框架爬取王者荣耀英雄皮肤图片和技能信息

    1.创建工程 将路径切换到想要保存爬虫项目的文件夹内,运行scrapy startproject WZRY新建一个名为WZRY的工程. 2.产生爬虫 将路径切换至新创建的spiders文件夹中,运行s ...

最新文章

  1. 计算机系男同学追班里一女同学,未果......
  2. Java OpenCV-4.0.0 图像处理22 图像模板匹配
  3. 【译】JS基础算法脚本:类数组(arguments)去重
  4. Jeecg-Boot 快速开发平台,前后端分离—开发工具安装
  5. 链接生成动态二维码图片显示在页面上
  6. bzoj 1665: [Usaco2006 Open]The Climbing Wall 攀岩(最短路)
  7. 游戏筑基开发之利用文件函数读出文件数据及处理(反序列化)(C语言)
  8. cocos2d-x自制工具07:打印cocos2d-x的节点树
  9. iphone屏幕录制_苹果6s有屏幕录制吗
  10. 使用for循环打印出大写字母的ASCII码对照表
  11. 网络流基础、最大流最小割定理以及证明
  12. Excel数据分析高级技巧①——动态图表制作(offset,vlookup,控件…)
  13. 理解Liang-Barsky裁剪算法的算法原理
  14. python程序设计黄锐军_Python程序设计
  15. java删除表格_Java 创建、删除Word表格
  16. 单机:Oracle 11GR2 数据库一键安装
  17. kubectl describe
  18. (笔记)SLF4J: No SLF4J providers were found.解决方法
  19. My SQL 安装教程---踩过所有第一次安装会踩的坑
  20. Telegram Chat Bot采坑日记

热门文章

  1. 少儿 C++ 编程 学习路线 推荐(2022.12.22)
  2. win10安装keil5
  3. 用 Flutter 实现 PageView 指示器
  4. 数据库系统概论 关系代数:专门的关系运算
  5. 七牛云配置token-----CryptoJS.js
  6. 学完C语言可以学什么--C/C++图形库Easyx(万字教程,一文入门)
  7. 2021暑期学习第23天
  8. 运行SHA256加密脚本.
  9. Git系列(五):Git Flow
  10. CentOS网络配置文件中UUID参数释疑