Как извлечь основной контент статьи веб-страницы
Попробуйте извлечь текст с помощью DOM, вот пример страницы
<body>
<div>
<ul>
<li><a href="/home">Home</a></li>
<li><a href="/politics">Politics</a></li>
<li><a href="/health">Health</a></li>
<li><a href="/travel">Travel</a></li>
<li><a href="/about">About</a></li>
</ul>
<div>
<div>
<div>
<p><b>MIAMI, Florida (CNN) </b> -- Hurricane Ike weakened slightly...
<p>Ike hit Turks and Caicos Islands Sunday morning, leaving a trail of...
<p>"It pretty much looks like an episode of 'The Twilight Zone,' " said...
<p>Aftwood estimates at least 90 percent of homes he saw on the island were...
<p>The possibility of similar devastation prompted state and local officials...
<p > "Let's hope it's all a false alarm," Louisiana Gov. Bobby Jindal said...
</div>
<div>
<p>Some side-story that we don't really care about.</p>
<p>Another paragraph for this story.</p>
</div>
<div>
<p>Yet another semi-related side-story that we still don't care about.</p>
<p>Another paragraph for this story.</p>
<p>Another paragraph for this story.</p>
<p>Yet another paragraph for this story.</p>
</div>
</div>
<div>© 2008 Cable News Network.<div>
</body>
Очевидно, что мызаботиться о тексте навигационной ссылки или двух дополнительных материалах.Давайте разберем его в зависимости от местоположения DOM.У нас есть шесть
тегов в первом теге второго тега тела.Мы представим это местоположение в виде списка индексов, например (2,1, *).Если мы сгруппируем все текстовые узлы таким образом и проследим, сколько текста содержит каждая группа, мы получим таблицу типа:
location = characters
(1,1,1,1) = 4
(1,1,2,1) = 8
(1,1,3,1) = 6
(1,1,4,1) = 6
(1,1,5,1) = 5
(2,1,*) = 500
(2,2,*) = 100
(2,3,*) = 250
(3) = 26