Попробуйте библиотеку Beautiful Soup для Python. Он имеет очень простые методы для извлечения информации из файла HTML.
Попытка извлечения данных из веб-страниц в общем случае потребовала бы, чтобы люди писали свои страницы аналогичным образом ... но существует почти бесконечное число способов передачи страницы, которая выглядит идентично, не говоря уже о всех сочетаниях, которые вы можете передать. та же информация.
Был ли какой-то конкретный тип информации, которую вы пытались извлечь, или какая-то другая конечная цель?
Вы можете попробовать извлечь любой контент с помощью маркеров 'div' и 'p' и сравнить относительные размеры всей информации на странице. Тогда проблема состоит в том, что люди, вероятно, группируют информацию в коллекции 'div's' и 'p' (или, по крайней мере, они делают это, если пишут хорошо сформированный html!).
Может быть, если вы сформировали дерево взаимосвязи информации (узлами было бы «p» или «div или что-то еще, и каждый узел содержал бы связанный текст), вы могли бы провести какой-то анализ, чтобы определить наименьшее» p 'или' div ', охватывающий то, что представляется большей частью информации ..?
[РЕДАКТИРОВАТЬ] Может быть, если вы сможете включить его в древовидную структуру, которую я предложил, вы могли бы затем использовать аналогичную систему баллов для спама убийцы. Определите некоторые правила, которые пытаются классифицировать информацию. Некоторые примеры:
+1 points for every 100 words
+1 points for every child element that has > 100 words
-1 points if the section name contains the word 'nav'
-2 points if the section name contains the word 'advert'
Если у вас есть много правил с низкой оценкой, которые складываются, когда вы находите более подходящие по виду разделы, я думаю, что это может развиться в довольно мощную и надежную технику.
[EDIT2] Глядя на читабельность, кажется, что он делает почти то же, что я только что предложил! Может быть, это можно улучшить, чтобы лучше понимать таблицы?