プロジェクトの要件のため、車両ブランド情報と車両システム情報が必要です。昨日、私はJSOUPをクロールするウェブサイト情報を勉強するのに1日を費やしました。このプロジェクトは、Maven+Spring+SpringMVC+MyBatisを使用して書かれています。
JSOUP開発ガイドアドレス
これは、https://car.autohome.com.cn/zhaoche/pinpai/をcrawった必要があるウェブサイトのアドレスです。
1.最初にpom.xmlに依存関係を追加します
画像をローカルに保存する必要があるため、Commons-Netパッケージを追加しました。
<! - https://mvnrepository.com/artifact/org.jsoup/jsoup-> <dependency> <groupid> org.jsoup </groupid> <artifactid> jsoup </artifactid> <バージョンhttps://mvnrepository.com/artifact/commons-net/commons-net-> <依存関係> commons-net </groupid> <artifactid> commons-net </artifactid> <バージョン> 3.3 </バージョン> </依存関係>
2。クローラーコードの実装
@controller@requestmapping( "/car/")public class carcontroller {//画像保存パスprivate static final string saveimgpath = "c:// imgs"; /** * @title:ブランド名と画像のクローリングを挿入して * @description: * @param @throws ioexception * @return void * @date 2018年1月29日4:42:57 */@requestmapping( "add")public void inserts()throws isection() "https://car.autohome.com.cn/zhaoche/pinpai/"; // Webページの取得テキストドキュメントdoc = jsoup.connect(url).get(); //クラス名に基づいてテキストコンテンツを取得しますElements elementsbyclass = doc.getElementsbyclass( "uibox-con"); //(要素要素:ElementsbyClass)のクラスのコレクションを送信{//クラスの子タグの数を取得しますint childnodesize_1 = element.childnodesize(); //(int i = 0; i <chuldnodesize_1; i ++){// carlogoの画像アドレス文字列tupian = element.child(i).child(0).child(0).child(0).child(0).thild(0).attr( "src"); //ブランド名を取得する文字列pinpai = element.child(i).child(0).child(1).text(); //コンテンツを出力して、それが正しいsystem.out.println( "車のロゴイメージかどうかを確認する address----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- URL url1 = new url(tupian_1); url1.opencnection(); fileoutputStream(saveimgpath、imagename); Volkswagen*は、合弁工場とその子会社の名前を取得するためにサイクリングする必要があります*/// = element.child(i).child(1).childnodesize(); if(childnodesize_3 == 1){//(int j = 0; j <childnodesize_2; j ++){string chexi = element.child(1).child(0).child(j).child(0).text().text();それぞれベンチャーファクトリー(int j = 0; j <childnodesize_3; j ++){int childnodesize_4 = child(1).child(j).childnodesize()ジョイントベンチャー情報ストリングhezipinpai.child(i).child(j).text()。 //(int l = 0; l <Childnodesize_4; L ++){string chexi = elemint.child(1).child(j).child(l).child(0).child(0).text(0).text(0); } system.out.println( "*****************");3。操作結果
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。