python - مترجمة - ما هو django




ما هو محلل هتمل الأكثر غفران في بايثون؟ (3)

لدي بعض هتمل عشوائي، وأنا استخدم بوتيفولتسوب لتحليل ذلك، ولكن في معظم الحالات (> 70٪) فإنه يخنق. حاولت استخدام الحساء جميل 3.0.8 و 3.2.0 (كانت هناك بعض المشاكل مع 3.1.0 صعودا)، ولكن النتائج هي نفسها تقريبا.

أستطيع أن أذكر عدة خيارات محلل هتمل المتاحة في بيثون من أعلى رأسي:

  • BeautifulSoup
  • lxml
  • pyquery

أعتزم اختبار كل هذه، ولكن أردت أن أعرف أي واحد في الاختبارات الخاصة بك تأتي أكثر غفران ويمكن حتى محاولة تحليل هتمل سيئة.


إذا بوتيفليسوب لا إصلاح المشكلة هتمل الخاص بك، فإن أفضل حل المقبل يكون التعبير العادي. لكسمل، إليمنتري، مينيدوم صارمة جدا في تحليل و فعلا يفعلون الحق.

نصائح أخرى:

  1. أنا أطعم هتمل لمتصفح الوشق من خلال موجه الأوامر، وإخراج النسخة النصية من الصفحة / المحتوى وتحليلها باستخدام التعبير العادي.

  2. يؤدي التحويل إلى هتمل إلى نص أو هتمل إلى علامة التصفية إلى إزالة جميع علامات هتمل وستظل مع النص. وهذا أمر سهل التحليل.


انتهى بي الأمر باستخدام بوتيفولسوب 4.0 مع html5lib لتحليل وأكثر من ذلك بكثير مسامحة، مع بعض التعديلات على التعليمات البرمجية انها تعمل الآن ديسنيابيلي حسنا، شكرا لجميع الاقتراحات.


مع الصفحات التي لا تعمل مع أي شيء آخر (تلك التي تحتوي على متداخلة <form> عناصر يتبادر إلى الذهن) لقد كان النجاح مع مينيمالسوب و إكانتبليفيتسبيوتيفولسوب . كل يمكن التعامل مع أنواع معينة من الخطأ أن الآخر لا يمكن في كثير من الأحيان سوف تحتاج إلى محاولة كليهما.





pyquery