Jsoup はページ データをクロールし、HTTP メッセージ headers_html/css_WEB-ITnose を理解します
お勧めの本: ハッカー攻撃と防御技術コレクション Web 実践編
ところで、質問を残しておきます: Web または小規模なドメイン ネーム サーバーへの同時アクセスは可能ですか? jsoupを麻痺させるには?実際、jsoup に詳しい友人は、jsoup を使用して URL を解析し、非常に恥知らずな行為を行うことができます (ソース コードは機密に保たれます)。笑、JSOUP について簡単に紹介しましょう。
jsoup は、URL アドレス、HTML テキスト文字列、HTML ファイルを直接解析できる Java ベースの HTML パーサーです。これは、DOM、CSS、および jQuery のような操作メソッドを通じてデータを取得および操作するための、非常に低労力の API を提供します。
公式 Web サイトのダウンロード アドレス: http://jsoup.org/download、コア ライブラリをダウンロードします。プロジェクトをインポート
1: HTML テキスト文字列を解析
[java] プレーンコピーを表示
- /**
- * HTML ドキュメントを解析します。文字列型
- */
- ublic static void parseStringHtml(Str html) {
- Document doc = Jsoup.parse(html);//文字列をドキュメント形式に変換
- Elements e=doc.body().getAllElements();//body の下に設定されているノードを取得
- Elements e1=doc .select(" head");//ヘッドノードセットを取得
- Element e2=doc.getElementById("p");//html 上の id="p" を持つノードを取得
- System.out.println(e1) ;
[java] view plain copy
- /**
- * リクエストアドレスから HTML を取得します
- */ を参照してください。
- public static void parseRequestUrl(String url) throws IOException{
- Connection con = Jsoup.connect(url);// リクエスト接続を取得します
- // // ブラウザで受け入れられる MIME タイプ。
- // con.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
- // con.header(" Accept-Encoding", "gzip, deflate");
- // con.header("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3 ");
- // con.header("接続", "キープアライブ");
- // con.header("ホスト", url);
- // con.header("ユーザーエージェント" , "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0");
- ドキュメント doc=con.get()
- 要素 select("a[href= /kff517]"); //ノードの背後にある属性は必要ありません
- 要素 test=doc.select("html body div#container div#body div#main div.main div#article_details.details div.article_manage scan.link_view ") ; ;
- System.out.println(hrefs);
- System.out.println(test.text()); //==.html js のメソッドと同様に、ノード内のテキストを取得します。 }
- 3: ローカル HTML ファイルを解析します。こちらも同様ですが、DOCUMENTの取得方法を変更します。
HTTP メッセージ ヘッダーに関する情報をまとめました。
GET /simple.htm HTTP/1.1
受け入れる: image/gif、image/x-xbitmap、image/jpeg、image/pjpeg、application/x- Shockwave-flash、application/vnd.ms-excel、application/vnd.ms-powerpoint、application/msword、*/*
Accept-Language: zh -cn
Accept-Encoding: gzip、deflate
User-Agent: Mozilla/4.0 (互換性、MSIE 6.0、Windows NT 5.1、SV1、.NET CLR 1.1) 4322; .NET CLR 2.0.50727)
ホスト: localhost:8080
接続: Keep-Alive
返される完全な HTTP メッセージ
HTTP /1.1 200 OK
X-Powered-By: ASP.NET
日付: 2006 年 3 月 3 日金曜日 06:34 :03 GMT
Content-Length: 37
hello world
注:
HTTP リクエスト ヘッダーの概要
HTTP クライアント プログラム (ブラウザなど) は、サーバーにリクエストを送信するときにリクエスト タイプ (通常は GET または POST) を指定する必要があります。必要に応じて、クライアント プログラムは他のリクエスト ヘッダーを送信することもできます。Content-Length が POST リクエストに存在する必要がある場合を除き、ほとんどのリクエスト ヘッダーは必要ありません。 Accept: ブラウザーが受け入れることができる MIME タイプ。 Accept-Charset: ブラウザーがデコードできるデータ エンコード方式。多くの場合、ブラウザは gzip でエンコードされた HTML ページを返します。これにより、ダウンロード時間が 5 ~ 10 倍短縮されます。サーバーが複数の言語を提供できる場合に、ブラウザが期待する言語タイプです。使用されるバージョン。認可: 認可情報は通常、サーバーによって送信される WWW-Authenticate ヘッダーへの応答に表示されます。接続: 永続的な接続が必要かどうか、またはサーブレットがこの値を「Keep-Alive」と認識するかどうかを示します。リクエストでは HTTP 1.1 が使用されます (HTTP 1.1 はデフォルトで永続接続を使用します。これにより、ページに複数の要素 (アプレット、画像など) が含まれる場合に永続接続を活用でき、ダウンロード時間を大幅に短縮できます。これを実現するには、サーブレットは応答で Content-Length ヘッダーを送信する必要があります。これを実現する最も簡単な方法は、まずコンテンツを ByteArrayOutputStream に書き込み、次にコンテンツを正式に書き出す前にそのサイズを計算することです。
Content-Length: リクエストメッセージボディの長さを示します。
Cookie: これは最も重要なリクエスト ヘッダー情報の 1 つです。
From: リクエスト送信者の電子メール アドレス。一部の特別な Web クライアント プログラムで使用され、ブラウザーでは使用されません。
If-Modified-since: 指定された日付以降に変更された場合にのみ要求されたコンテンツを返し、それ以外の場合は 304 "Not Modified" 応答を返します。
プラグマ: "no-cache" 値を指定すると、サーバーは、たとえそれがプロキシ サーバーであり、既にページのローカル コピーを持っていたとしても、更新されたドキュメントを返さなければならないことを意味します。
リファラー: ユーザーが現在リクエストしているページにアクセスするための URL が含まれます。
User-Agent: ブラウザの種類。サーブレットによって返されるコンテンツがブラウザの種類に関連する場合、この値は非常に便利です。
UA-Pixels、UA-Color、UA-OS、UA-CPU: 特定のバージョンの IE ブラウザーによって送信される、画面サイズ、色深度、オペレーティング システム、CPU タイプを示す非標準のリクエスト ヘッダー。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









この記事では、HTML< Progress>について説明します。要素、その目的、スタイリング、および< meter>との違い要素。主な焦点は、< Progress>を使用することです。タスクの完了と< Meter> statiの場合

この記事では、HTML< Datalist>について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

この記事では、html< meter>について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化< Meter> < Progress>およびex

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

この記事では、< iframe>外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する
