Я занимался очисткой HTML в PHP с использованием регулярных выражений. Это работает, но результат привередлив и хрупок. Кто-нибудь использовал какие-либо пакеты, которые обеспечивают более надежное решение? Конфигурационное решение было бы идеальным, но я не привередлив.
HTML-соскабливание в Php
Ответ 1
Я бы посоветовал PHP Simple HTML DOM Parser после того, как вы очистили HTML со страницы. Он поддерживает недопустимый HTML и обеспечивает очень простой способ обработки элементов HTML.
Ответ 2
Если страница, которую вы очищаете, действительна X (HT) ML, то любой из PHP встроенных XML-парсеров будет делать.
У меня не было большого успеха с библиотеками PHP для очистки. Если вы приключенческий, вы можете попробовать simplehtmldom. Я бы рекомендовал Hpricot для Ruby или Beautiful Soup для Python, которые являются превосходными синтаксическими анализаторами для HTML.
Ответ 3
Мне было весело работать с htmlSQL, что не так высоко подходит для решения, но очень просто для работы.
Ответ 4
Я бы также рекомендовал "Simple HTML DOM Parser". Это хороший вариант, особенно если вы знакомы с jQuery или селекторами JavaScript, тогда вы окажетесь дома.
Ответ 5
Используя PHP для очистки HTML, я бы рекомендовал cURL + regexp или cURL + некоторые DOM-парсеры, хотя лично использовал cURL + regexp. Если у вас есть глубокий вкус регулярного выражения, он иногда более точным.
Ответ 6
У меня были хорошие результаты с помощью Simple Html DOM Parser, упомянутого выше. И затем там tidy Extension для PHP, который также хорошо работает.
Ответ 7
Мне пришлось использовать curl на моем хосте 1 и 1.
http://www.quickscrape.com/ - это то, что я придумал, используя класс Simple DOM!