Всем привет. Так как нужны парсеры, собственно начал изучать эту тему. Ну с простыми запросами проблем нет, делаешь запрос - разбираешь ответ. Но сейчас многие сайты (если не большинство) работают с js. Мой старый разработчик писал мне парсеры к сайтам, ответ которых парсился как раз через JsonConverter. Но даже разобрав его парсеры я не смог понять как именно посылать запрос к серверу чтобы он вернул текст для разбора. Подскажите, пожалуйста, кто разбирается в теме куда копать, что почитать? Может строчку где искать в Source соде страницы нужную? В идеале хотелось бы не циклом запросы делать а парсить страницу https://5ka.ru/special_offers/ Для тестов создал файл, который парсит продукты магазина. Сразу скажу что сделал я его очень костыльно ибо запросы находятся в цикле котрый идет по номерам товаров каталога, так что там особо заморачиваться с разбором ответа не стал, написал так чтобы было нормально. Буду благодарен любому совету. Прикладываю файл и текущий код.
Есть 2 варианта, для таких сайтов: 1) использовать для загрузки страницы браузер IE (там скрипты отрабатывают, выводя данные) 2) в браузере смотреть, какие запросы отправляются скриптами Например, для вашего сайта, скрипт выполняет запрос на адреса типа https://5ka.ru/special_offers/?records_per_page=15&page=2 где меняется значение page=XXX
Ну вот это я как раз и хочу понять. Не пойму только куда смотреть то. Открываю в Chrome Developer Tools но где эти запросы то смотреть? Может подскажете?
Ух ты, спасибо огромное. Нашел всё, заработало. Ответ получен. Посредством http://json.parser.online.fr/ разобран правильно! С JsonConverter пока не очень подружил. Но как разберусь и подружу их - обязательно отпишусь!) Огромное спасибо за подсказку!
Еще раз всем привет!) Ну в общем и целом я разобрался с запросами и парсингом. Запросы - это легко, а вот сам парсинг - много возни. С JsonConverter я его не смог подружить (почему то он берет только первые 4 значения, а вложенные уровни не парсит). Долго возился, пробовал, настраивал, но он так и не смог разобрать весь ответ, поэтому пришлось писать собственные функции обработки, кроме "DateFromUnix" (её взял из интернета). Зато теперь знаю куда смотреть и где искать строчку, куда отправлять запрос) Прикладываю код и файл ниже. STk - это назначение переменных для разбора в функциях. Может, конечно, у меня руки кривые, но почему то не смог без Char подсунуть ему текстовую строку с символами... Хотелось бы услышать критику, замечания и может кто то подскажет что можно сделать по другому) Может можно как то более изящно сделать?)
А что надо сделать с кодом? и зачем? (если код работает)
PS: в моём парсере есть функционал преобразования JSON в XML а из XML достать нужный параметр уже легко (итого, любое значение из JSON извлекается в 2 действия) Раз нужны разные парсеры, - имеет смысл посмотреть готовые решения, нежели писать подобный код для каждого сайта
Да ничего особо. Хотелось бы чтобы знающий человек посмотрел своим взглядом, указал на ошибки или что нужно/можно поправить. Да, код работает. Хотя вообще то я бы хотел понять почему JsonConverter не "схавал" весь ответ...
Цитата
Игорь написал: имеет смысл посмотреть готовые решения, нежели писать подобный код для каждого сайта
Я бы не сказал что за 25-30 тысяч рублей имеет смысл покупать Ваш парсер, когда можно самому написать или заказать разработчику, который сделает в 15 раз дешевле! Когда мне нужны парсеры я их заказываю и оплачиваю, сейчас я пытаюсь разобраться в теме сам.
Игорь, Вы Ваш парсер, который по Вашим словам всеядный, чего в принципе быть не может, продавали всегда за 25-30к. Когда я к Вам обращался, года 2 назад примерно, Вы мне именно эту цену и называли! А я потом нашел разработчика, который как раз и сделал мне парсеры за 3000... Не знаю уж когда у Вас там так резко цена спустилась и почему, но факт остается фактом. К тому же мне нужен открытый код для интеграции в мои программы, а Вы, простите, ТОЛЬКО С ЗАКРЫТЫМ КОДОМ продаете, так как это Ваша интеллектуальная собственность! А сейчас вообще уже вообще без надобности так как сам изучаю этот вопрос...