Как реализовать подобный скребок для html-страниц, такой как Read90 или Instapaper? - PullRequest
3 голосов
/ 16 сентября 2010

Мне интересно узнать, как вычистить html-страницу и красиво представить ее - удалите все помехи и переформатируйте основной текст в очень читаемый формат - например, http://lab.arc90.com/experiments/readability или Instapaper.

Это простой анализ страницы и удаление элементов, которые не находятся внутри

?

Это обсуждалось где-то еще?

Ответы [ 3 ]

7 голосов
/ 09 марта 2012

Удобочитаемость - это не простой синтаксический анализатор, он использует сложный алгоритм для извлечения только необходимых компонентов. Если вы не гуру в программировании, я бы посоветовал вам воспользоваться их бесплатной службой, выделенной ниже.

вы можете запроситьдля разработчика API от читабельности (http://www.readability.com/publishers/api)

Если вы запрашиваете парсер, он будет делать именно то, что вы хотите достичь, а именно извлекать контент с сайтов. Просто не забудьте дать имдостаточно веская причина, чтобы позволить вам использовать их API.

Запрос к их службе синтаксического анализа будет выглядеть следующим образом

https://www.readability.com/api/content/v1/parser?url={url для анализа здесь} & token ={ваш ключ API здесь}

На запрос будет возвращен ответ вроде:

HTTP / 1.0 200 OK {"domain": "blog.readability.com","author": "Richard Ziade", "url": "http://blog.readability.com/2011/02/step-up-be-heard-readability-ideas/",

"short_url": "http://rdd.me/kbgr5a1k",
"title": "Step Up & Be Heard: Readability Ideas", 
"total_pages": 1, 
"word_count": 175, 
"content": "<div>\n  \n<div class=\"entry\">\n\t<p>When we launched Readability [snip] ...</div>\n</div>", 
"date_published": "2011-02-22 00:00:00", 
"next_page_id": null, 
"rendered_pages": 1 }

Для парней, работающих с острыми ядрами, зацените узел читабельностиJS, ruby ​​и порт Python здесь http://arrix.blogspot.com/2010/11/server-side-readability-with-nodejs.html

Счастливое кодирование

4 голосов
/ 21 декабря 2010

https://github.com/jiminoc/goose/wiki делает то, что вы просите, исходный код доступен вместе с юнит-тестами

1 голос
/ 16 сентября 2010

Если рассматриваемая веб-страница или сайт хорошо используют семантические элементы и структуру, вы можете просто использовать другую таблицу стилей CSS, которая может существенно изменить макет и полностью отобразить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...