Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: POST запрос на kinopoisk.ru  (Прочитано 2959 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sd
Постоялец

by
Offline Offline

« : 06-12-2015 09:38 » 

Ребята, приветствую.

Т.к. в теме сетевого программирования не совсем силен, то вопросы могут показаться глупыми.
В общем, проблема такая: мне надо из приложения отправлять post запрос на www.kinopoisk.ru с названием фильма, информацию о котором мне надо найти. А в ответ получить картинку фильма, год выпуска, режиссера, актеров и жанр.

Собственно, в чем пока что вопросы:
1) Как сформулировать этот запрос? Куда именно подставлять название фильма?
2) На кинопоиске если ввести название фильма (например Психо), то он покажет целый список результатов. Как в этом случае получить фильм, который первый в списке?

Спасибо.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 06-12-2015 10:01 » 

на первый вопрос ответ, я полагаю, можно получить с помощью wireshark
Записан

Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 06-12-2015 17:10 » 

1. А кто сказал, что там пост запрос?
Причем в двух видах
Один  быстрый поиск - GET
И второй - Также GET
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
sd
Постоялец

by
Offline Offline

« Ответ #3 : 06-12-2015 18:01 » 

Хорошо, допустим, там GET запрос. Это не меняет сути моего вопроса.
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #4 : 06-12-2015 19:04 » 

Обязательно С++? Я например, подобную задачу решал через bash shell скрипты.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
sd
Постоялец

by
Offline Offline

« Ответ #5 : 06-12-2015 19:40 » 

Да вообще, желательно С/С++, но если поделитесь своим вариантом - буду очень благодарен.
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 06-12-2015 20:54 » 

Ну..
вопрос в чем?
Как написать парсер?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #7 : 07-12-2015 04:05 » 

В Linux почти стандартно есть программы wget для запроса интернет страниц . И для парсинга grep, sed, awk, perl. В принципе Перл это самостоятельный язык программирования. На котором можно полностью написать скрипт запроса и парсинга.
Как правило запрос составляется по шаблону. Смотриш какой имеено шаблон применяется. И составляеш аналогичный. После того, как тебе пришел html файл. Открываеш его в текстовом редакторе. (Не word) И изучаещ, по какому шаблону идет перечисление найденных фильмов. По данному шаблону составляеш регулярные выражения.
В С++ есть класс регулярных выражений. До С++11 он находится в библиотеке Boost. В C++11 и далее его перевели в STL http://www.cplusplus.com/reference/regex/regex/?kw=regex
Правила для составления регулярок перечисленны тут.
« Последнее редактирование: 07-12-2015 04:07 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 07-12-2015 11:31 » 

Finch, зачем регулярками? Имхо, лучше взять сразу html-парсер с поддержкой xpath и всем таким. libxml2, например (а то, может, и tinyxml справится: на кинопоиске xhtml).
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #9 : 07-12-2015 18:05 » 

Вад, Я сейчас посмотрел ради интереса. Такое ошушение, что шаблоны писали два разных человека. Встречаются <br /> и <br> На втором теге xml парсер должен завалиться. Так как нету закрываюшего тега. В случае простого html это не ошибка. Хотя да, Они декларируют, что это xhtml Улыбаюсь.
« Последнее редактирование: 07-12-2015 18:10 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 07-12-2015 18:34 » 

Парсеры браузеров проявляют лояльность к таким вещам. Там DOCTYPE для xhtml1-transitional. По хорошему должен соответствовать xml.
Насчет двух человек: быстрее 10 человек - кампания то большая.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

"железокаменный метеорит" мог образоваться от расплавления металлических конструкций в результате например ядерного взрыва и стекания жидкого железа в какой нибудь щебень (c) Иванов С.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 07-12-2015 20:19 » 

Не смотрел Улыбаюсь, но осуждаю

<br> может подставлять редактор

<br /> верстальщик

Но за <br /> версталам нужно руки отбивать


но все же, скорей всего, используются разные шаблоны

Т.е. шаблон сайта + шаблоны тем

А че там заморачиваться с классами - inline стили наше фсё


Кстати.. да плевал кинопоиск на все рекомендации ПС, у него такой траст, что ему по фонарю что унего там шаблонах
« Последнее редактирование: 07-12-2015 20:26 от Sla » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #12 : 07-12-2015 20:23 » 

Finch, Яндекс - найдётся всё, включая невалидный xhtml Улыбаюсь Или это старый кинопоиск? В новой бета-версии вроде обычный html.
И всё же, по-моему, лучше взять парсер html и ковырять DOM, чем регулярками вытаскивать, поскольку по формулировке задачи, там уже далеко не одну строчку достать надо.
Я, правда, по возможности тоже махнул бы рукой на C++ и взял более подходящий язык (в моём случае, симпатии на стороне Python).
« Последнее редактирование: 07-12-2015 20:25 от Вад » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines