سؤال

باستخدام وثائق بايثون وجدت ملف محلل HTML لكن ليس لدي أي فكرة عن المكتبة التي يجب استيرادها لاستخدامها، كيف يمكنني اكتشاف ذلك (مع الأخذ في الاعتبار أنه لا يُذكر على الصفحة).

هل كانت مفيدة؟

المحلول

يحاول:

import HTMLParser

في Python 3.0 ، تمت إعادة تسمية وحدة HTMLParser إلى html.parser يمكنك التحقق من هذا هنا

بايثون 3.0

import html.parser

بايثون 2.2 وما فوق

import HTMLParser

نصائح أخرى

ربما تريد حقا حساء جميل, ، تحقق من الرابط للحصول على مثال.

ولكن في أي حال

>>> import HTMLParser
>>> h = HTMLParser.HTMLParser()
>>> h.feed('<html></html>')
>>> h.get_starttag_text()
'<html>'
>>> h.close()

أوصي باستخدام حساء جميل وحدة بدلا من ذلك ولها توثيق جيد.

قد تكون مهتما com.lxml.إنها حزمة منفصلة وتحتوي على مكونات C، ولكنها الأسرع.يحتوي أيضًا على واجهة برمجة تطبيقات رائعة جدًا، مما يسمح لك بإدراج الروابط بسهولة في مستندات HTML، أو قائمة النماذج، وتعقيم HTML، والمزيد.كما أن لديه القدرة على تحليل لغة HTML غير جيدة التكوين (وهي قابلة للتكوين).

يجب عليك أيضا أن تنظر html5lib لـ Python حيث تحاول تحليل HTML بطريقة تشبه إلى حد كبير ما تفعله متصفحات الويب، خاصة عند التعامل مع HTML غير صالح (الذي يمثل أكثر من 90٪ من الويب اليوم).

لا أوصي بـ BeautifulSoup إذا كنت تريد السرعة.يعد lxml أسرع بكثير، ويمكنك الرجوع إلى محلل BS الخاص بـ lxml إذا لم يعمل المحلل اللغوي الافتراضي.

بالنسبة لمعالجة HTML في العالم الحقيقي، أوصي بذلك حساء جميل.إنه أمر رائع ويزيل الكثير من الألم.التثبيت سهل.

يوجد رابط لمثال في أسفل (http://docs.python.org/2/library/htmlparser.html) ، فهو لا يعمل مع python أو python3 الأصلي.يجب أن يكون python2 كما هو مذكور في الأعلى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top