Heim Web-Frontend js-Tutorial Wie speichert jsoup Bilder von gecrawlten Websites lokal?

Wie speichert jsoup Bilder von gecrawlten Websites lokal?

Apr 13, 2018 am 09:50 AM
javascript jsoup 保存

Dieses Mal zeige ich Ihnen, wie jsoup die Bilder der gecrawlten Websites lokal speichert. Welche Vorsichtsmaßnahmen es gibt, um die Bilder der gecrawlten Website lokal zu speichern ist ein praktischer Fall, werfen wir einen Blick darauf.

Aufgrund der Projektanforderungen werden Fahrzeugmarkeninformationen und Automodellinformationen benötigt. Gestern habe ich einen Tag damit verbracht, jsoup-Crawling-Website-Informationen zu studieren. Das Projekt ist mit maven+spring+springmvc+mybatis geschrieben.

Adresse des jsoup-Entwicklungsleitfadens

Dies ist die Adresse der Website, die gecrawlt werden muss https://car.autohome.com.cn/zhaoche/pinpai/

1. Fügen Sie zunächst Abhängigkeiten

in pom.xml hinzu Da ich das Bild lokal speichern muss, habe ich das Commons-Net-Paket

<!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
    <dependency>
      <groupId>org.jsoup</groupId>
      <artifactId>jsoup</artifactId>
      <version>1.10.3</version>
    </dependency>
<!-- https://mvnrepository.com/artifact/commons-net/commons-net -->
    <dependency>
      <groupId>commons-net</groupId>
      <artifactId>commons-net</artifactId>
      <version>3.3</version>
    </dependency>
Nach dem Login kopieren

hinzugefügt 2. Implementierung des Crawler-Codes

@Controller
@RequestMapping("/car/")
public class CarController {
  //图片保存路径
  private static final String saveImgPath="C://imgs";
  /**
  * @Title: insert 品牌名称 和图片爬取和添加
  * @Description: 
  * @param @throws IOException  
  * @return void  
  * @throws
  * @date 2018年1月29日 下午4:42:57
  */ 
  @RequestMapping("add")
  public void insert() throws IOException {
    //定义想要爬取数据的地址
    String url = "https://car.autohome.com.cn/zhaoche/pinpai/";
    //获取网页文本
    Document doc = Jsoup.connect(url).get();
    //根据类名获取文本内容
    Elements elementsByClass = doc.getElementsByClass("uibox-con");
    //遍历类的集合
    for (Element element : elementsByClass) {
      //获取类的子标签数量
      int childNodeSize_1 = element.childNodeSize();
      //循环获取子标签内的内容
      for (int i = 0; i < childNodeSize_1; i++) {
        //获取车标图片地址
        String tupian = element.child(i).child(0).child(0).child(0).child(0).attr("src");
        //获取品牌名称
        String pinpai = element.child(i).child(0).child(1).text();
        //输出获取内容看是否正确
        System.out.println("车标图片地址-----------" + tupian);
        System.out.println("品牌-----------" + pinpai);
        System.out.println();
        //把车标图片保存到本地
        String tupian_1 = "http:"+tupian;
        //连接url
        URL url1 = new URL(tupian_1);
        URLConnection uri=url1.openConnection();
        //获取数据流
        InputStream is=uri.getInputStream();
        //获取后缀名
        String imageName = tupian.substring(tupian.lastIndexOf("/") + 1,tupian.length());
        //写入数据流
        OutputStream os = new FileOutputStream(new File(saveImgPath, imageName));
        byte[] buf = new byte[1024];
        int p=0;
        while((p=is.read(buf))!=-1){
          os.write(buf, 0, p);
        }
        /**
         * 因为每个品牌下有多个合资工厂
         * 比如一汽大众和上海大众还有进口大众
         * 所有需要循环获取合资工厂名称和旗下
         * 车系
         */
        
        //获取车系数量
        int childNodeSize_2 = element.child(i).child(1).child(0).childNodeSize();
        /**
         * 获取标签下子标签数量
         * 如果等于1则没有其他合资工厂
         */
        int childNodeSize_3 = element.child(i).child(1).childNodeSize();
        if(childNodeSize_3==1){
          //循环获取车系信息
          for (int j = 0; j < childNodeSize_2; j++) {
            String chexi = element.child(i).child(1).child(0).child(j).child(0).child(0).text();
            System.out.println("车系-----------" + chexi);
          }
        }else{
          /**
           * 如果childNodeSize_3大于1
           * 则有多个合资工厂
           */
          //分别获取各个合资工厂旗下车系
          for (int j = 0; j < childNodeSize_3; j++) {
            
            int childNodeSize_4 = element.child(i).child(1).child(j).childNodeSize();
            /**
             * 如果j是单数则是合资工厂名称
             * 否则是车系信息
             */
            int k = j%2;
            
            if(k==0){
              //获取合资工厂信息
              String hezipinpai = element.child(i).child(1).child(j).child(0).text();
              System.out.println("合资企业名称-----------" + hezipinpai);
            }else{
              //int childNodeSize_5 = element.child(i).child(1).child(0).childNodeSize();
              //循环获取合资工厂车系信息
              for(int l = 0; l < childNodeSize_4; l++){
                String chexi = element.child(i).child(1).child(j).child(l).child(0).child(0).text();
                System.out.println("车系-----------" + chexi);
              }
            }
          }
          
        }
        
        System.out.println("************************");
        System.out.println("************************");
        
      }
    }
  }
}
Nach dem Login kopieren

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Vervollständigung der E-Mail-Adresse des JS-Eingabeaufforderungstextfelds

getBoundingClientRect-Nutzungs- und Kompatibilitätsverarbeitung

Das obige ist der detaillierte Inhalt vonWie speichert jsoup Bilder von gecrawlten Websites lokal?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So speichern Sie Bilder ohne Wasserzeichen in Xiaohongshu. So speichern Sie Bilder ohne Wasserzeichen in Xiaohongshu So speichern Sie Bilder ohne Wasserzeichen in Xiaohongshu. So speichern Sie Bilder ohne Wasserzeichen in Xiaohongshu Mar 22, 2024 pm 03:40 PM

Xiaohongshu verfügt über umfangreiche Inhalte, die jeder hier frei ansehen kann, sodass Sie mit dieser Software jeden Tag Langeweile lindern und sich selbst helfen können. Bei der Verwendung dieser Software werden Sie manchmal verschiedene schöne Dinge sehen. Aber die gespeicherten Bilder haben Wasserzeichen, was sehr einflussreich ist. Hier möchte jeder wissen, wie man Bilder ohne Wasserzeichen speichert. 1. Klicken Sie auf „…“ in der oberen rechten Ecke des Bildes, um den Link zu kopieren. 2. Öffnen Sie das WeChat-Applet. 3. Durchsuchen Sie die Süßkartoffel-Bibliothek im WeChat-Applet. 4. Geben Sie die Süßkartoffel-Bibliothek ein und bestätigen Sie, um die zu erhalten Link 5. Holen Sie sich das Bild und speichern Sie es im Handyalbum

So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript Dec 17, 2023 pm 02:54 PM

So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

So laden Sie Douyin-Videos herunter und speichern sie So laden Sie Douyin-Videos herunter und speichern sie Mar 29, 2024 pm 02:16 PM

1. Öffnen Sie die Douyin-App, suchen Sie das Video, das Sie herunterladen und speichern möchten, und klicken Sie unten rechts auf die Schaltfläche [Teilen]. 2. Schieben Sie im angezeigten Popup-Fenster die Funktionsschaltflächen in der zweiten Reihe nach rechts, suchen Sie nach [Lokal speichern] und klicken Sie darauf. 3. Zu diesem Zeitpunkt wird ein neues Popup-Fenster angezeigt, und der Benutzer kann den Download-Fortschritt des Videos sehen und warten, bis der Download abgeschlossen ist. 4. Nachdem der Download abgeschlossen ist, erscheint die Meldung [Gespeichert, bitte gehen Sie zum Album, um es anzusehen], damit das gerade heruntergeladene Video erfolgreich im Album des Mobiltelefons des Benutzers gespeichert wird.

WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen Dec 17, 2023 pm 05:30 PM

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems Dec 17, 2023 pm 12:09 PM

Einführung in die Verwendung von JavaScript und WebSocket zur Implementierung eines Online-Bestellsystems in Echtzeit: Mit der Popularität des Internets und dem Fortschritt der Technologie haben immer mehr Restaurants damit begonnen, Online-Bestelldienste anzubieten. Um ein Echtzeit-Online-Bestellsystem zu implementieren, können wir JavaScript und WebSocket-Technologie verwenden. WebSocket ist ein Vollduplex-Kommunikationsprotokoll, das auf dem TCP-Protokoll basiert und eine bidirektionale Kommunikation zwischen Client und Server in Echtzeit realisieren kann. Im Echtzeit-Online-Bestellsystem, wenn der Benutzer Gerichte auswählt und eine Bestellung aufgibt

Wie speichere ich die Videos des Videokontos im Fotoalbum? Teilen von Methoden Wie speichere ich die Videos des Videokontos im Fotoalbum? Teilen von Methoden Mar 26, 2024 am 11:21 AM

Videokonto ist eine beliebte Kurzvideoanwendung, mit der Benutzer ihre eigenen Videos aufnehmen, bearbeiten und teilen können. Manchmal möchten wir diese wunderbaren Videos jedoch vielleicht in unserem Fotoalbum speichern, damit wir sie bei Bedarf erneut ansehen können. Als nächstes werde ich einige Methoden vorstellen, die Ihnen zeigen, wie Sie das Video der Videonummer im Album speichern. Videos können über die integrierte Funktion der Video Number-Anwendung gespeichert werden. Öffnen Sie die App und suchen Sie das Video, das Sie speichern möchten. Klicken Sie auf das Optionssymbol in der unteren rechten Ecke des Videos. Ein Menü wird angezeigt und Sie können „Im Album speichern“ auswählen. Dadurch wird das Video im Fotoalbum Ihres Telefons gespeichert. Methode zwei besteht darin, das Video durch Erstellen eines Screenshots zu speichern. Diese Methode ist relativ einfach, aber das gespeicherte Bild enthält Elemente wie Videosteuerleisten, was nicht rein genug ist. Du

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript Dec 17, 2023 am 09:39 AM

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript. Im heutigen digitalen Zeitalter müssen immer mehr Unternehmen und Dienste Online-Reservierungsfunktionen bereitstellen. Es ist von entscheidender Bedeutung, ein effizientes Online-Reservierungssystem in Echtzeit zu implementieren. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Reservierungssystem implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist eine Vollduplex-Methode für eine einzelne TCP-Verbindung.

Wo werden die vom HP-Drucker gescannten Dateien gespeichert? Wo werden die vom HP-Drucker gescannten Dateien gespeichert? Feb 19, 2024 am 09:18 AM

Nachdem viele Benutzer HP-Drucker zum Scannen von Dateien verwenden, wissen sie nicht, wo die gescannten Dateien gespeichert sind. Wenn sie herausfinden möchten, wo sie sich befinden, können sie wie geplant in „Arbeitsplatz“ suchen. Wo werden die von HP-Druckern gescannten Dateien gespeichert: 1. Öffnen Sie zunächst den Arbeitsplatz. 2. Geben Sie dann das zu suchende Datum ein. 3. Anschließend finden Sie die gescannten Dateien. 4. Nach der Installation des Druckertreibers wird eine Hilfssoftware für das Drucker-Multifunktionsgerät angezeigt. Öffnen Sie diese. 5. Klicken Sie abschließend auf das Symbol zum Scannen des Ordners, um die Datei zu finden.

See all articles