Автор Тема: Небольшой парсер  (Прочитано 10132 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн NewSky

  • Модератор
  • *****
  • Сообщений: 842
Небольшой парсер
« : 12 Февраля 2012, 13:55:29 »
Уважаемые пользователи с руками и головой, не смог бы кто-нибудь написать небольшой парсер из html со страницы Кинопоиска (кипопремьеры). А может (наверняка) у кого-то подобное уже есть (у меня был, да тупо, потерял). Идея простая. Сохранить страничку с премьерами в html на комп, "скормить" скрипту и получить xls файл с 1. Прокатное название 2. Оригинальное название 3. год 4. url А потом этот файлик закинуть в PVD на предмет создания базы фильмов, которые стоит ожидать, опять-же, по трекер сайтам из PVD удобно переходить через поиск. Как я понимаю, все нужное хранится в этом месте:
Цитировать
   <div class="text">
      <div class="textBlock">
         <span class="name" itemprop="name"><a href="/level/1/film/194033/">Тайна Келлс</a></span>
         <span> The Secret of Kells  (2009)</span>
         <span style="margin: 0">
            Франция...
            <i>реж. <a class="lined" href="/level/4/people/1002296/">Томм Мур</a>...</i>
         </span>
         <span>(мультфильм, фэнтези, семейный)</span>
         <span><a class="lined" href="/level/4/people/1751115/">Эван МакГуайр</a>, <a class="lined" href="/level/4/people/1751116/">Кристен Муни</a></span>
      </div>
Мне товарищ накидал подобный парсер, очень быстро, но сейчас нет возможности к нему обратиться, а сам я науками не владею, вот может кому не жалко будет или просто, потренироваться в написании скриптов :) Думаю подобное может многим пригодиться.

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Небольшой парсер
« Ответ #1 : 19 Февраля 2012, 15:44:56 »
Да сама идея не плохая , я бы написал  , но пока время не позволяет , может быть попозже.

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Небольшой парсер
« Ответ #2 : 25 Марта 2012, 00:23:45 »
Я тут кое что накатал , правда источник для фильмов взял в другом месте , скрипт сырой , сам останавливаться не умеет . И я не знаю XML язык , поэтому импорт идет в csv файл.
Как с ним работать.
1.Заходиш на сайт кинопоиск.
2. Идеш в раздел поиск
3. Шелкаеш по в этом разделе по Поиск лучших фильмов
4. Переходиш в данный раздел
5. Настраиваеш поиск как надо
6. Нажимаеш Поиск
7. Фича! Переходиш на 2 страницу результатов а потом возврашаешся на 1 страницу.
8. Копируеш содержимое адресной строки в переменную скрипта SEARCH_STR
9. Запускаеш скрипт и любуешся результатом.

Скрипт в дальнейшем будет доработан

[вложение удалено администратором]

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Небольшой парсер
« Ответ #3 : 29 Марта 2012, 06:35:15 »
Кое что доделали исправили.
Выкладываю 2 версию

[вложение удалено администратором]

Оффлайн NewSky

  • Модератор
  • *****
  • Сообщений: 842
Re: Небольшой парсер
« Ответ #4 : 29 Марта 2012, 12:34:41 »
Спасибо. Большое.
Попробовал.

Ложки найдутся, а осадок останется...

Есть у меня комп, не так давно обновил, i7, 16GB оперативы, GTX580 все дела, вообщем приличный еще пока такой комп, для кодинга. На нем завалы домашнего видео, жена уже даже не бурчит, сделай хоть лето 2010, отпуск, всё вперед пропускаю текущие съемки, а они заразы все равно накапливаются. И вот засел, четыри недели монтаж делал, всё, готово, на 1.30 минут, теперь выводим, подцепляем нехилый такой скрипт фильтрации и в кодировщик, да в Blu-ray/ Ну все как положено, даже на такой машине процесс на 33 часа, первый проход позади, второго осталось 1ч.40... вообщем скоро все будет готово. А система такая вылизанная, ни програмушки лишнего, драйверочки свеженькие, заплаточки на месте, софтик только проверянный, ни одного сбоя за 4 месяца, красота. Ожидание- хуже чем догонять, полез, по просторам интернета, не сиделось у тв, надо было рученкам кнопы потыкать, забрел сюда, порадовался, а ну и давай пробовать. Скачал, почитал, и строку заветную с Кинопоиска закопировал (правда убей не пойму, как мне тупо, ВСЁ 2012 выудить (собственно лично моя изначальная задача) 2012 то можно ввести, но только без 100 голосов фильмов то не будет, а, что мне до голосов то до тех, было просто желание иметь списочек в PVD фильмов, которые вышли, выходят и выйдут в этом году) ну да ладно, так, так-так, попробовать то все равно хочется, хоть и сложно все как то, толи дело парсер в 30 строк кода, что бы он сохраненный хтмл раздербанил на запчасти да и сдела экселечку побыстрому, которая прекрасно в PVD занесется. Ну да ладно. Пробую. И строку то заветную вставил и скриптик в папочку положил (по наивности в бету) ну и запустил программу то любимую и создал базу пустую и скрипт в списке то выбрал ( а кодирования то уже час тридцать осталось, 30 часов с лихом позади, вот жену то порадую в скорости) ну как нажму то кнопу импорта, ну как ничего то и не произошло, пробежало что-то с адресом связанное внизу программы то да и на том все скончалось. Не поверил глазкам своим москаляцким, что дело хорошее не работает, и давай еще разок на батон соответствующий жать... на этом компикем моем любимом отродясь "синий экран смерти" не видал, но видать суждено тому было именно в этот момент рассмотреть его получше, да буквы заморские почитать, да похерить тридцать часов кодирования за просто так, да такой красивый "синий экран смерти", что после перезагрузки компик мой вышеупомянутый аж SATA плату потерял и не видил зрением своим близоруким. А точнее плату видил, а 4 харда по 2тб каждый потерял зараза. Токма с третьей попытки сжалился надо мной, чудо свершилось в недрах железяк адских, запустился компик мой ненаглядный. Орешек знаний тверд и все такое, надо же дальше экспериментировать, коль кодирование по новой начинать, хоть скриптом диковинным побаловаться, неервы успокоить. А ну давай скрипт в 0.9 пихать, да даже зашитый урл менять на свой не стал, так растройство велико было. Кнопа заветная, экспортом называется, жмакаю, а процесс то пошел, работает знать файлик с именем басурманским и буковами неведомыми. Ан нет. И крутит и бежит строка килобайтная и процесс быть может вечен, да надоело все это, канценул я дело это антисоветское, не сразу конечно, как обычно PVD то поняла, что баста, кончай работу бесполезную, но таки тормознула. Ну не знаю, чем насладиться можно было, база как была пуста, так в себя и не приняла списков никаких с фильмами то дьявольскими.

Понимаю, плохо когда руки из "же" и конечно, скрипт тут наверняка не причем и наверняка, такая реализация лучше и, что в итоге все заработает и будет гуд, а пока... а пока.... ложки то найдутся, а осадок останется :)

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Небольшой парсер
« Ответ #5 : 29 Марта 2012, 15:29:19 »
Мне жаль что с фильмом так вышло , возможно надо было принцип работы поподробнее описать.

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Небольшой парсер
« Ответ #6 : 30 Марта 2012, 05:33:44 »
Все таки тебе надо именно премьеры за 2012 год , то кроме урл указанного тобой такой же поиск можно замутить на основе расширенного поиска , но только там выдает действительно все фильмы за год , а это около 7500 штук , то есть все возможные фильмы со всех стран.

Оффлайн NewSky

  • Модератор
  • *****
  • Сообщений: 842
Re: Небольшой парсер
« Ответ #7 : 30 Марта 2012, 06:59:23 »
Да, я именно про http://www.kinopoisk.ru/level/8/view/prem/year/2012/ тут далеко не 7500, вменяемое такое количество и, что самое главное список переодически изменяется. Как бы там ни было, я оставил урл в скрипте, тот, что сейчас в нем имеется и все равно не понял, как работает скрипт, запустил, но никаких фильмов в базе не появилось.

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Небольшой парсер
« Ответ #8 : 30 Марта 2012, 08:59:11 »
Он действеует так , собирает данные по фильмам в csv файл , который находится рядом с базой , в смысле по тому же адресу , и называется statistic.csv его потом нужно скормить PVD и фильмы появятся в базе.

 

anything