Здравствуйте. Вопрос мой скорее связан с ориентированием в среде языков программирования. На данный момент я являюсь скорее вэб-мастером, со знаниями photoshop\html5\css (в основном работаю над своими сайтами + создаю сайты клиентам, используя WordPress).
Последнее время все чаще задаюсь вопросом, чтобы освоить один из языков программирования, чтобы стать более серьезным специалистом. Это значит, что я спрашиваю себя для чего мне это нужно - что я буду с этим делать. Ответы получаются такие:
1) Освоив, например PHP, я могу создавать плагины для WordPress и другие смежные скрипты (сразу скажу, что мне часто приходится это делать, т.к. сайты создаю с нуля и под разные нужды). К тому же нередко приходят интересные идеи, и хотелось бы творить, реализовывая это самостоятельно. Скажем, к этому пункту подходит перспектива стать разработчиком на PHP в рамках WordPress. Ведь сейчас он популярен, сайтов становится всё больше, и даже e-Commerce прорывается, базируясь на каком-нибудь Woo.
2) Парсинг (тема вопроса). Мне нравится эта тема, когда можно собрать определенные данные, обработать их и вывести во что-то интересное. На практике уже не раз приходилось встретиться с такими проектами (для себя), но работу я поручал другим программистам.
Сейчас я наконец созрел для того, чтобы освоить один из языков программирования, чтобы реализовывать свои задачи самостоятельно. Мне это действительно интересно. Я считаю важным понимание зачем мне это понадобится, поэтому специально описал 1, и 2-ы пункты. Зная что я буду делать, я смогу более детально изучить интересуемую область. Я решил обратиться к вам за советом, чтобы понять с чего правильно начать и в целом услышать что вы думаете. Спасибо!
С php не имел удовольствия работать, но поводу парсинга могу пояснить.
Что вам, по большому счету, надо, так это:
1) скачать страничку сайта или сделать вызов HTTP API. В этом вам помогут библиотеки вроде curl.
2) разобрать полученные в п.1) данные. В случае API, как правило,это JSON. В случае HTML вам пригодится знание XPATH-выражений (которые также помогут, если в результате выполнения п. 1) вы имеете XML) и css-селекторов. Исполнять эти запросы будет XML- или DOM-парсер.
3) полученные в п.2) данные сохранить в конечном или промежуточном виде: CSV, записи в RDBMS (sqlite, mysql, postgresql) или NoSql (Mongo, например)
В дальнейшей работе помогут Selenium (или другой HTTP клиент с исполнением javascript), очереди заданий, кэширование (redis).
Спасибо за ответ! Очень полезно. Учитывая, что я ещё не знаю PHP, и скорее всего я начну именно с него (он мне нужен для моего пункта 1).
Что вы имеете ввиду я понял. В смысле, что для меня это не китайский, где я вообще не понимаю что значит API, JSON или css-селекторы. Но вот сразу пункт 1 - curl, разве это не PHP?
Ещё раз спасибо за инструкцию, она мне действительно подсказала какой дорогой двигаться. Хоть и не во всех подробностях, но я понял связку. Остаётся только разбираться.
И всё-таки. Чтобы сделать свой первый парсер - мне понадобиться начать с основ PHP, самых азов. Или есть более короткий путь, который научил бы меня работать по похожему сценарию (я не ищу волшебной палочки). Или это был бы тупиковый путь, который не сделал бы из меня программиста.