Jsoup - استخراج وتحليل كود HTML في Java
<فئة div = "MsoNormal" النمط = "الهامش السفلي: 0.0001pt;" >جسوب < / span >< / b > هو بائع الكتب de جافا < / i> من يعالج الكود HTML. إنه واجهة برمجة التطبيقات< / سبان> < / u> مناسب جدا لاستخراج البيانات ومعالجتها باستخدام أفضل طرق DOM, CSS et jquery.jsoup < / span >< / b > ينفذ خصائص HTML5 ويوزع كود HTML في شجرة (DOM) كما تفعل المتصفحات الحديثة. JSOUP هو مشروع مفتوح المصدر يوزع تحت مظلة < span style = "اللون: أزرق ؛" ترخيص >MIT. يمكنك العثور على شفرة المصدر في < span style = "اللون: أزرق ؛" >GitHub.
< / o: p>< / span>< / div>
الميزات: < / span >< / div>- تحليل كود HTML من عنوان URL أو ملف أو string.
- البحث عن البيانات واستخراجها باستخدام شجرة DOM و CSS.< / span>
- معالجة العناصر والنص HTML.
- منع هجمات XSS عن طريق مسح اشتراك المستخدم.
- قم بإنشاء كود HTML مرتب.< / span>
- البحث عن البيانات واستخراجها باستخدام شجرة DOM و CSS.< / span>
- معالجة العناصر والنص HTML.
- منع هجمات XSS عن طريق مسح اشتراك المستخدم.
- قم بإنشاء كود HTML مرتب.< / span>
- < / ul>
JSoup ليتم تكييفه مع إصدارات مختلفة من HTML ، فهو ينشئ شجرة تم تحليلها.< / o: p>< / span >< / div>
< / div>
انقر إلى< نمط الامتداد = "اللون: أزرق ؛" > Download jsoup.
< / div>
مثال: < / o: p>< / span >
< / span>< / div>
< / span>< / div>
استرجع صفحة ويكيبيديا ، وقم بتحويلها وتحليلها ك DOM ، وحدد من قسم الأخبار قائمة بالعناصر.
< span style = "لون الخلفية: #eeeeee; عائلة الخط: Trebuchet MS ، بلا رقيق ؛" >مستند المستند = Jsoup.connect("http://fr.wikipedia.org").get(); نمط < / span >< / div>1 - تحليل مستند< / span >< / b>< / h3>
1 - تحليل مستند< / span >< / b>< / h3>هذا الرمز مخصص لتحليل a document HTML:
< / span>< / div>String html = " < رئيس> < العنوان> اللقب الأول " < فرع /> + "< الجسم> < مثال على التعليمات البرمجية للمستند ";
Document doc = Jsoup.parse(html); < / o: p>< / span>< / div>
< / span>< / div>سيبذل المحلل اللغوي قصارى جهده لإنشاء كود HTML واضح من الكود الذي قدمته ، فهو يتعامل مع:
< / span >< span style = "لون الخلفية: أبيض ؛ عائلة الخط: "مصدر بلا برو" ، بلا رقيق ؛" >- العلامات غير المغلقة على سبيل المثال: < بلابلا تتحول إلى < بلابلا < / span >
< span style = "لون الخلفية: أبيض ؛ عائلة الخط: "مصدر بلا برو" ، بلا رقيق ؛" >- العلامات الضمنية على سبيل المثال: < / span >
نبسب؛ نبسب؛ نبسب؛ < ت.د> نبسب؛ جدول محاط بنمط < / span >< span = "لون الخلفية: أبيض ؛ عائلة الخط: "مصدر بلا برو" ، بلا رقيق ؛" > < الجدول> < تر> < ت.د> < / span >
< span style = "لون الخلفية: أبيض ؛ عائلة الخط: "مصدر بلا برو" ، بلا رقيق ؛" >- يحترم هيكل الكود الذي تم إنشاؤه معايير لغة HTML (الرأس والجسم والعناصر التي تشكل الصفحة).
< / span >< / div>2- تحليل مستند من سلسلة < / span >< / b>< / h3>لدينا HTML في سلسلة Java ونريد تقسيمها للحصول على محتواها ، أو للتحقق مما إذا كانت مكتوبة بشكل جيد ، أو لتعديلها. يمكن قراءة الإدخال من ملف أو رابط من web. يجب عليك استخدام الطريقة المحددة مسبقا Jsoup.parse(سلسلة html) أو Jsoup.parse(سلسلة html, سلسلة أوري) إذا كانت الصفحة واردة من الويب. < / span >انظر < / span >< span style = "عائلة الخط: 'Source Sans Pro' ، sans-serif ؛" >class Jsoup.< / a>< / span >< / span>< / o: p>< / span>< / div>
< / span>< / div>String html = " < رئيس> < العنوان> عنوان " < فرع /> + "< الجسم> < p>html en doc ";
Document doc = Jsoup.parse(html); < / o: p>< / span>< / div>
< / span>< / div>الطريقة Jsoup.parse(سلسلة html, سلسلة أوري) يوزع إدخال التعليمات البرمجية HTML في جديد مستند. تستخدم الوسيطة URI لتحويل relative URLs إلى عناوين URL مطلقة ويجب أن تكون تمت تهيئته باستخدام عنوان URL الذي تم إنشاء مستنده استرداد. إذا لم يكن ذلك ممكنا ، يمكنك استخدم Jsoup.parse (سلسلة html) .< / o: p>< / span >< / div>يجب ألا تكون السلسلة التي تم تمريرها كمعلمة فارغة وسيتكون مستند الإخراج من أقل من < / span> الرأس < / i>et de body< / i>. إذا كنت < / span>obturerez استثناء حيث ستجد أن استخراج الشجرة لم يتم. بشكل صحيح ، اقرأ < / span >< span style = "اللون: أزرق ؛ عائلة الخط: وراثة ؛" >documentation < / span >< span style = "عائلة الخط: وراثة ؛" >لمزيد من المعلومات. بمجرد حصولك على المستند ، ستتمكن من: استعادة البيانات مع أساليب الفئة وثيقة والدرجات العليا < نمط الامتداد = "اللون: أزرق ؛" >Node < / span > et   Element.< / o: p>< / span>< / div>3- تحليل الجسم< / span>< / b>< / h3 >لدينا قطعة من البدلة التي نريد تحليلها. يمكن أن تحتوي التعليمة البرمجية على عناصر ليست كود HTML على سبيل المثال ، مثل comments.< / o: p>< / span>< / div>الحل هو استخدام Jsoup.parseBodyFragment(سلسلة html).
< / span>< / div>سلسلة < / سبان >< / ب >< سبان النمط = "عائلة الخط: 'مصدر بلا برو' ، بلا سيريف ؛" > html="< شعبة> < الفقرة "؛
Document doc = Jsoup.parseBodyFragment(html);
Element body = doc.body(); < / o: p>< / span>< / div>
< / span>< / div> < / span >
< span style = "عائلة الخط: 'Source Sans Pro' ، sans-serif ؛" >الأسلوب parseBodyFragment بإنشاء مستند فارغ وإدراج HTML الذي تم تحليله في النص الأساسي. إذا كنت تستخدم < نمط الامتداد = "اللون: # 990000 ؛" >Jsoup.parse (سلسلة html) < / span > ، سيكون لديك نفسه النتيجة ، ولكن التعامل مع الإخراج ك يضمن جزء الجسم أن جميع العناصر المقدمة قد تم تحليلها.< / o: p>< / span>< / div>طريقة Document.body() يسترجع العناصر الجزء السفلي من الجسم (الطفل) ، وهو ما يعادل < نمط الامتداد = "اللون: # 990000 ؛" >doc.getElementsByTag ("body").
< / span>< / div>
String html = " < رئيس> < العنوان> اللقب الأول " < فرع /> + "< الجسم> < مثال على التعليمات البرمجية للمستند ";
Document doc = Jsoup.parse(html);< / o: p>< / span>< / div>
< / span>< / div>
Document doc = Jsoup.parse(html);
< / span>< / div>
سيبذل المحلل اللغوي قصارى جهده لإنشاء كود HTML واضح من الكود الذي قدمته ، فهو يتعامل مع:
< / span >< span style = "لون الخلفية: أبيض ؛ عائلة الخط: "مصدر بلا برو" ، بلا رقيق ؛" >- العلامات غير المغلقة على سبيل المثال: < بلابلا تتحول إلى < بلابلا < / span >
< span style = "لون الخلفية: أبيض ؛ عائلة الخط: "مصدر بلا برو" ، بلا رقيق ؛" >- العلامات الضمنية على سبيل المثال: < / span >
نبسب؛ نبسب؛ نبسب؛ < ت.د> نبسب؛ جدول محاط بنمط < / span >< span = "لون الخلفية: أبيض ؛ عائلة الخط: "مصدر بلا برو" ، بلا رقيق ؛" > < الجدول> < تر> < ت.د> < / span >
< span style = "لون الخلفية: أبيض ؛ عائلة الخط: "مصدر بلا برو" ، بلا رقيق ؛" >- يحترم هيكل الكود الذي تم إنشاؤه معايير لغة HTML (الرأس والجسم والعناصر التي تشكل الصفحة).
< / span >< / div>2- تحليل مستند من سلسلة < / span >< / b>< / h3>
< / span >< span style = "لون الخلفية: أبيض ؛ عائلة الخط: "مصدر بلا برو" ، بلا رقيق ؛" >- العلامات غير المغلقة على سبيل المثال: < بلابلا تتحول إلى < بلابلا < / span >
< span style = "لون الخلفية: أبيض ؛ عائلة الخط: "مصدر بلا برو" ، بلا رقيق ؛" >- العلامات الضمنية على سبيل المثال: < / span >
نبسب؛ نبسب؛ نبسب؛ < ت.د> نبسب؛ جدول محاط بنمط < / span >< span = "لون الخلفية: أبيض ؛ عائلة الخط: "مصدر بلا برو" ، بلا رقيق ؛" > < الجدول> < تر> < ت.د> < / span >
< span style = "لون الخلفية: أبيض ؛ عائلة الخط: "مصدر بلا برو" ، بلا رقيق ؛" >- يحترم هيكل الكود الذي تم إنشاؤه معايير لغة HTML (الرأس والجسم والعناصر التي تشكل الصفحة).
< / span >< / div>
2- تحليل مستند من سلسلة < / span >< / b>< / h3>لدينا HTML في سلسلة Java ونريد تقسيمها للحصول على محتواها ، أو للتحقق مما إذا كانت مكتوبة بشكل جيد ، أو لتعديلها. يمكن قراءة الإدخال من ملف أو رابط من web. يجب عليك استخدام الطريقة المحددة مسبقا Jsoup.parse(سلسلة html) أو Jsoup.parse(سلسلة html, سلسلة أوري) إذا كانت الصفحة واردة من الويب. < / span >انظر < / span >< span style = "عائلة الخط: 'Source Sans Pro' ، sans-serif ؛" >class Jsoup.< / a>< / span >< / span>< / o: p>< / span>< / div>
< / span>< / div>String html = " < رئيس> < العنوان> عنوان " < فرع /> + "< الجسم> < p>html en doc ";
Document doc = Jsoup.parse(html); < / o: p>< / span>< / div>
< / span>< / div>الطريقة Jsoup.parse(سلسلة html, سلسلة أوري) يوزع إدخال التعليمات البرمجية HTML في جديد مستند. تستخدم الوسيطة URI لتحويل relative URLs إلى عناوين URL مطلقة ويجب أن تكون تمت تهيئته باستخدام عنوان URL الذي تم إنشاء مستنده استرداد. إذا لم يكن ذلك ممكنا ، يمكنك استخدم Jsoup.parse (سلسلة html) .< / o: p>< / span >< / div>يجب ألا تكون السلسلة التي تم تمريرها كمعلمة فارغة وسيتكون مستند الإخراج من أقل من < / span> الرأس < / i>et de body< / i>. إذا كنت < / span>obturerez استثناء حيث ستجد أن استخراج الشجرة لم يتم. بشكل صحيح ، اقرأ < / span >< span style = "اللون: أزرق ؛ عائلة الخط: وراثة ؛" >documentation < / span >< span style = "عائلة الخط: وراثة ؛" >لمزيد من المعلومات. بمجرد حصولك على المستند ، ستتمكن من: استعادة البيانات مع أساليب الفئة وثيقة والدرجات العليا < نمط الامتداد = "اللون: أزرق ؛" >Node < / span > et   Element.< / o: p>< / span>< / div>3- تحليل الجسم< / span>< / b>< / h3 >لدينا قطعة من البدلة التي نريد تحليلها. يمكن أن تحتوي التعليمة البرمجية على عناصر ليست كود HTML على سبيل المثال ، مثل comments.< / o: p>< / span>< / div>الحل هو استخدام Jsoup.parseBodyFragment(سلسلة html).
< / span>< / div>سلسلة < / سبان >< / ب >< سبان النمط = "عائلة الخط: 'مصدر بلا برو' ، بلا سيريف ؛" > html="< شعبة> < الفقرة "؛
Document doc = Jsoup.parseBodyFragment(html);
Element body = doc.body(); < / o: p>< / span>< / div>
< / span>< / div> < / span >
< span style = "عائلة الخط: 'Source Sans Pro' ، sans-serif ؛" >الأسلوب parseBodyFragment بإنشاء مستند فارغ وإدراج HTML الذي تم تحليله في النص الأساسي. إذا كنت تستخدم < نمط الامتداد = "اللون: # 990000 ؛" >Jsoup.parse (سلسلة html) < / span > ، سيكون لديك نفسه النتيجة ، ولكن التعامل مع الإخراج ك يضمن جزء الجسم أن جميع العناصر المقدمة قد تم تحليلها.< / o: p>< / span>< / div>طريقة Document.body() يسترجع العناصر الجزء السفلي من الجسم (الطفل) ، وهو ما يعادل < نمط الامتداد = "اللون: # 990000 ؛" >doc.getElementsByTag ("body").
< / span>< / div>
String html = " < رئيس> < العنوان> عنوان " < فرع /> + "< الجسم> < p>html en doc ";
Document doc = Jsoup.parse(html);< / o: p>< / span>< / div>
< / span>< / div>
Document doc = Jsoup.parse(html);
< / span>< / div>
الطريقة Jsoup.parse(سلسلة html, سلسلة أوري) يوزع إدخال التعليمات البرمجية HTML في جديد مستند. تستخدم الوسيطة URI لتحويل relative URLs إلى عناوين URL مطلقة ويجب أن تكون تمت تهيئته باستخدام عنوان URL الذي تم إنشاء مستنده استرداد. إذا لم يكن ذلك ممكنا ، يمكنك استخدم Jsoup.parse (سلسلة html) .< / o: p>< / span >< / div>
يجب ألا تكون السلسلة التي تم تمريرها كمعلمة فارغة وسيتكون مستند الإخراج من أقل من < / span> الرأس < / i>et de body< / i>. إذا كنت < / span>obturerez استثناء حيث ستجد أن استخراج الشجرة لم يتم. بشكل صحيح ، اقرأ < / span >< span style = "اللون: أزرق ؛ عائلة الخط: وراثة ؛" >documentation < / span >< span style = "عائلة الخط: وراثة ؛" >لمزيد من المعلومات.
بمجرد حصولك على المستند ، ستتمكن من: استعادة البيانات مع أساليب الفئة وثيقة والدرجات العليا < نمط الامتداد = "اللون: أزرق ؛" >Node < / span > et   Element.< / o: p>< / span>< / div>3- تحليل الجسم< / span>< / b>< / h3 >
3- تحليل الجسم< / span>< / b>< / h3 >لدينا قطعة من البدلة التي نريد تحليلها. يمكن أن تحتوي التعليمة البرمجية على عناصر ليست كود HTML على سبيل المثال ، مثل comments.< / o: p>< / span>< / div>الحل هو استخدام Jsoup.parseBodyFragment(سلسلة html).
< / span>< / div>سلسلة < / سبان >< / ب >< سبان النمط = "عائلة الخط: 'مصدر بلا برو' ، بلا سيريف ؛" > html="< شعبة> < الفقرة "؛
Document doc = Jsoup.parseBodyFragment(html);
Element body = doc.body(); < / o: p>< / span>< / div>
< / span>< / div> < / span >
< span style = "عائلة الخط: 'Source Sans Pro' ، sans-serif ؛" >الأسلوب parseBodyFragment بإنشاء مستند فارغ وإدراج HTML الذي تم تحليله في النص الأساسي. إذا كنت تستخدم < نمط الامتداد = "اللون: # 990000 ؛" >Jsoup.parse (سلسلة html) < / span > ، سيكون لديك نفسه النتيجة ، ولكن التعامل مع الإخراج ك يضمن جزء الجسم أن جميع العناصر المقدمة قد تم تحليلها.< / o: p>< / span>< / div>طريقة Document.body() يسترجع العناصر الجزء السفلي من الجسم (الطفل) ، وهو ما يعادل < نمط الامتداد = "اللون: # 990000 ؛" >doc.getElementsByTag ("body").
الحل هو استخدام Jsoup.parseBodyFragment(سلسلة html).
< / span>< / div>
سلسلة < / سبان >< / ب >< سبان النمط = "عائلة الخط: 'مصدر بلا برو' ، بلا سيريف ؛" > html="< شعبة> < الفقرة "؛
Document doc = Jsoup.parseBodyFragment(html);
Element body = doc.body();< / o: p>< / span>< / div>
< / span>< / div>
Document doc = Jsoup.parseBodyFragment(html);
Element body = doc.body();
< / span>< / div>
< / span >
< span style = "عائلة الخط: 'Source Sans Pro' ، sans-serif ؛" >الأسلوب parseBodyFragment بإنشاء مستند فارغ وإدراج HTML الذي تم تحليله في النص الأساسي. إذا كنت تستخدم < نمط الامتداد = "اللون: # 990000 ؛" >Jsoup.parse (سلسلة html) < / span > ، سيكون لديك نفسه النتيجة ، ولكن التعامل مع الإخراج ك يضمن جزء الجسم أن جميع العناصر المقدمة قد تم تحليلها.< / o: p>< / span>< / div>
< span style = "عائلة الخط: 'Source Sans Pro' ، sans-serif ؛" >الأسلوب parseBodyFragment بإنشاء مستند فارغ وإدراج HTML الذي تم تحليله في النص الأساسي. إذا كنت تستخدم < نمط الامتداد = "اللون: # 990000 ؛" >Jsoup.parse (سلسلة html) < / span > ، سيكون لديك نفسه النتيجة ، ولكن التعامل مع الإخراج ك يضمن جزء الجسم أن جميع العناصر المقدمة قد تم تحليلها.
طريقة Document.body() يسترجع العناصر الجزء السفلي من الجسم (الطفل) ، وهو ما يعادل < نمط الامتداد = "اللون: # 990000 ؛" >doc.getElementsByTag ("body").