Comments 27
Это верно. По ссылкам тоже инструменты не менее удобные. Статью об этом нет желания написать? :-)
Когда требовалось, делал аналогично. XPath удобный вариант + достаточный быстрый на sax парсере.
На заре появления крупных интернет сайтов делал преобразование XML -> SQL с помощью XSLT :) Удовольствие то еще, но очень надежно и долго работало.
Нормально придумано - откручивать крестообразный шуруп плоской отверткой.
DOM - это ведь та же NoSQL база данных, где данные хранятся не линейно, а как матрешка, и доступ к ним удобно получать по цепочке, а не как из плоской таблицы.
А кто ж будет спорить, что теги вложены друг в друга как матрёшка? Когда интересует структура у документа, а не только сами данные, htmlSQL не подходит.
Когда по-быстрому нужны сами данные - вполне подходит. Например, цель: выбрать все картинки в документе.
Крипово, но почему бы и нет?
Надо еще чутка причесать (хоть как-то к PSR привести) и оформить в композер пакетом :)
Такой функциональности нет (в явном виде). Сам curl, разумеется, имеет ключ:
--proxy 11.22.33.44:5555 -U username:passwordЗначит можно допилить. Я, вероятно, этим займусь, когда руки дойдут. За одно избавлюсь от вызова exec() - лучше использовать функции расширения.
Я почему спрашиваю? Когда-то тоже парсил кое-какую инфу с другого сайта. Сначала напрямую по HTTP. Потом по HTTPS, когда он на него перешел. По HTTP через прокси тоже получалось. А вот через HTTPS через прокси — не срослось.
Я бы хоть посмотрел — ЧЯДНТ?
Не ищи для этого какие-то либы 1999 года в этот раз)) Cмотри сразу PSR7 совместимые, Guzzle например, тогда твое решение будет совместимо с миром, независимо от ОС и окружения
Статьи (и новости) я взял не все, а только на самые холиварные темы.
Ценные комментарии — прежняя фишка хабра — ушли в прошлое. Котиков иВ холиварных темах их никогда и не было. Новости же это 146% мусор для подмахивания власти. Там самое интересное — посмотреть, какое дно на этот раз пробила «информационная служба Хабра».
маникюр в комментариях ещё не обсуждают, но исходный код и образцы конфигов
из комментариев почти исчезли
Основные изменения кармы происходят в комментариях, а не в результате публикаций*.Капитан Очевидность, вы вернулись! Ура!
По теме:
Данные проще вытянуть из JSON-ов, которыми обмазана «новая версия» Хабрахабра.
Например, вы: sepetov
Или я: Maccimo
Если всё же парсить HTML, то разбить скачивание HTML и его парсинг на отдельные фазы и поискать для своего любимого ЯП аналог JSOUP. Это удобнее, чем SQL в данном случае.
Основные изменения кармы происходят в комментариях, а не в результате публикаций*.
Увы, кажется Хабр иначе не работает, зачастую вижу пользователей с большим количеством кармы и без статей, которые намеренно стараются писать псевдо-интеллектуальные провокационные комментарии.
Последнее время мне начинает казаться что это могут быть собственно сотрудники этого ресурса. Крайне важно создавать видимость активности под проходными статьями, устраивать споры, лишь бы хлеба-зрелищ и попыток заставить автора делать все больше контента, дабы поправить/получить эту самую карму.
Тот редкий момент, когда по заголовку пришел в статью, чтобы поставить минус, но внутри оказалась такая забористая наркомания, что в итоге поставил плюс.
Спасибо. Давно во время чтения статей на хабре не улыбался.
Несколько раз сталкивался с подобной задачей - сначала использовал старичка phpQuery, но в какой то момент наткнулся на компонент из симфони - DomCrawler. У нее чуть больше функционала, чем просто парсить контент, но с этим она справляется на ура.
Парсить DOM структуру можно как с помощью xpath, так и css селекторов
Большинство пользователей с высокой кармой весьма немногословны,
скорее всего чтобы не сказать лишнего и не лишиться её части :)
Приятно читать грамотное изложение специалиста с хорошим чувством юмора! С удовольствием прошелся по материалу и даже захотелось провести рефакторинг кода :)
Ну и статья, хочешь-не хочешь, трогает очень щепетильную тему, сильно громко говорить о которой конечно же не стоит, ибо смысл давно кончился. Но не указать на корень сего зла нельзя, ибо многие сбиваются с пути истинного и начинают думать неправильно, обвиняя во всем Абаму и недозревшие бананы.
К сожалению, рыночная экономика привнесла в наш мир такую штуку, как маркетинг, которому плевать на все живое. Мы растем в эпоху, когда критическое мышление отдыхает, а любая критика воспринимается не иначе, как попытка доведения до суицида.
"Мужество" и "твердость характера" отдыхают вместе с логикой происходящего. Категории "толерантность (восприимчивость ко всякой лабуде)" и "сексуальные меньшинства" попивают "шампунь". Ибо мы обижаемся на все подряд и готовы даже расплакаться в комментариях, потому что "Вовка ткнул Петьке в отсутствие логики у его алгоритма и сравнил это с кучей чего-то неестественного, а потом смачно макнул его лицом в это неестество". И поехали коллективные минусы в карму.
Так ["замыкается круг"] и рождается сообщество фантомных, но весьма добрых и отзывчивых комментаторов с отрицательной кармой. Ибо сила не в объеме мозоли на нижней чакре (кол-ве часов, проведенных на Хабре), а в том, какая среда тебя изрыгнула (воспитала). А это уже прямая отсылка к Макаренко, Выготскому, Ленину и Крупской. Вот и корень проблемы: многие думают, что воспитание и обучение ни на что не влияют, а они влияют и еще как. На историю влияют и на поведение комментаторов и многое объясняют и даже прогнозируют [для маркетинга, например].
Но больше всего беспокоит то, что сообщество в итоге теряет действительно содержательную аудиторию. Вы думаете, это я - про социум? Нет. Это я - к переменной "х" [громко и уверенно произносить: "ха"], в которой немец привык хранить кол-во просмотренных фильмов.
Идея перевода из функционала в декларацию того, что весьма хорошо смотрится в функционале, на мой взгляд, успешно сработала пока только 2 раза в истории IT, и то - в первом случае - благодаря реляционной алгебре, которая до сих пор рулит. Да так успешно, - что даже в те самые реляционные СУБД вскоре после выхода в свет поспешили внедрить функции и триггеры, хотя и опять же в декларативном стиле. Ну и создание форм в "1С" и SAP тоже декларативное. Но претензия не к стилю занесения алгоритма, а к кол-ву часов выработки в обоих случаях.
Часто проще бывает написать малюсенький скрипт для какой-то ерунды, и он работает. В корпоративной среде "толстое" ПО обслуживает коллектив не менее толстых ученых. Где найти ту золотую середину, чтобы написать несложную библиотеку с огромным функционалом? И декларативный подход здесь как раз будет камнем преткновения. Для корпоративного сектора он пойдет. А для "хоум видео" надо каждый раз быстро вспоминать, как оперативно передергивать рукоять у нужной функции, ибо редко пользуешься. Поэтому они должны быть малюсенькие, но весьма эластичные [хавать должны все подряд].
Как по мне, так в таких штуках должны быть анализаторы структуры страниц [DOM-модели], чтобы можно было провести автоматизированный первичный скорый анализ, а потом уже приступать к уверенному соскабливанию данных ножовкой по DOM-дереву. А еще неплохо было бы добавить автомат с Колой, чтобы попивать прохладительные напитки, пока система парсит, и свежий журнал "Хакер".
Парсинг HTML с помощью PHP и SQL. Немного провокационный пример с анализом пользователей Хабра