Как извлечь полезный и полезный контент из веб-страниц?
Я хотел бы проанализировать веб-страницу и извлечь из нее содержательный контент. По значимости я имею в виду контент (только текст), который пользователь хочет увидеть на этой конкретной странице (данные, исключая рекламу, баннеры, комментарии и т.д.). Я хочу убедиться, что когда пользователь сохраняет страницу, данные, которые он хотел чтение сохраняется, и ничего больше.
Короче, мне нужно создать приложение, которое работает так же, как Readability. (http://www.readability.com) Мне нужно взять этот полезный контент на веб-странице и сохранить его в отдельном файле. Я действительно не знаю, как это сделать.
Я не хочу использовать API, который должен мне подключиться к Интернету и получать данные со своих серверов, так как процесс извлечения данных должен выполняться в автономном режиме.
Есть два метода, о которых я мог подумать:
Есть ли существующий инструмент, который делает это? Я наткнулся на библиотеку котлов (http://code.google.com/p/boilerpipe/), но не использовал ее. Кто-нибудь использовал его? Получает ли он удовлетворительные результаты?
Существуют ли какие-либо другие инструменты, особенно написанные на PHP или Python, которые делают этот вид веб-соскабливания?
Если мне нужно создать свой собственный инструмент, чтобы сделать это, что бы вы решили предложить?
Так как мне нужно будет очистить грязный или неполный HTML, прежде чем я начну его разборку, я бы использовал такой инструмент, как Tidy (http://www.w3.org/People/Raggett/tidy/) или Beautiful Суп (http://www.crummy.com/software/BeautifulSoup/bs4/doc/), чтобы выполнить эту работу.
Но я не знаю, как извлечь контент после этого шага.
PS. Я любитель и хотел бы, если бы были готовы использовать инструменты с открытым исходным кодом, которые делают это, и их можно легко интегрировать в мой код, который я напишу на PHP или Python.
Или, если мне нужно написать свой собственный код, я бы хотел получить руководство, которое проделало такую работу раньше!:)
Большое спасибо!
Ответы
Ответ 1
Вы вводили "читаемость python" в Google? есть довольно популярная (200+ последователей) библиотека на github.
https://github.com/buriy/python-readability
Кроме того, существует php-1, если вы должны ввести "читаемость PHP", хотя у него есть 100 последователей, у которых не было активности почти два года
https://github.com/feelinglucky/php-readability
и, наконец, самый популярный (350+ github folowers) - это порт чтения рубинов
https://github.com/iterationlabs/ruby-readability
По крайней мере, вы можете увидеть, как эти 3 разных проекта выполняют разбор "важных частей" веб-страницы.
Ответ 2
Вы можете использовать htql.
import htql
page="..."
query="&html_main_text"
result=htql.query(page, query)