ما هي الخوارزميات التي يمكنني استخدامها لتحديد المحتوى على صفحة ويب
-
22-09-2019 - |
سؤال
لديّ صفحة ويب محملة في المتصفح (أي أن DOM وعناصر تحديد المواقع يمكن الوصول إليها بالنسبة لي) وأريد العثور على عنصر الكتلة (أو قائمة مصنفة من هذه العناصر) ، والتي من المحتمل أن تحتوي كتلة مستمرة من النص). الهدف هو استبعاد أشياء مثل القوائم والرؤوس والتذييلات وما شابه.
المحلول
هذا المفضل لي: VIPS: خوارزمية تجزئة الصفحات القائمة على الرؤية
نصائح أخرى
أولاً ، إذا كنت بحاجة إلى تحليل صفحة ويب ، فسأستخدم htmlagilitypack لتحويلها إلى XML. سوف يسرع كل شيء وسيمكنك من استخدام XPath بسيط للذهاب مباشرة إلى الجسم.
بعد ذلك ، يجب عليك الركض على جميع divs (يمكنك الحصول على جميع عناصر Div في قائمة من حزمة الرشاقة) ، والحصول على ما تريد.
هناك تقنية بسيطة للقيام بذلك ، استنادًا إلى تحليل كيف أن HTML "صاخبة" ، أي ما هي نسبة الترميز إلى النص المعروض من خلال صفحة HTML. الطريقة السهلة لاستخراج نص مفيد من HTML التعسفي يصف هذا تكس ، مع إعطاء بعض كود بيثون لتوضيح.
راجع أيضا HTML :: ContentExtractor وحدة بيرل ، والتي تنفذ هذه الفكرة. سيكون من المنطقي تنظيف HTML أولاً ، إذا أردت استخدام هذا ، باستخدام BeautifulSoup.
أود أن أوصي أطروحة Vit Baisa على تنظيف محتوى الويب, ، أعتقد أن لديه بعض التعليمات البرمجية أيضًا ، لكن لا يمكنني العثور على رابط لذلك. هنالك أيضا نقاش من نفس المشكلة في مدونة LingPipe اللغوية اللغوية.