Оценка пользователей
8.6330
Оценить:
-
-AdRiver-

Поиск по игромагазинам своими руками. Идея-черновик.

 

Лень – бесспорный двигатель прогресса. Заленившись в очередной раз открывать десяток сайтов для поиска и сравнения цен на очередную настолку я понял, что пора что-то менять. Точнее – автоматизировать.

Сразу скажу – путь был долгий и до сих пор не завершился. Но тем не менее...

 

Итак, идея: организовать поиск настолок по необходимым онлайн-магазинам в один клик.

 

Первое, что пришло в голову – конечно гугл. Но гугление результатов не принесло. Странно, ведь идея вроде бы довольно очевидная.

 

Второе, что пришло в голову – гугл=). Точнее его возможность в организации пользовательского поиска, а именно – поиск только по определенным сайтам.

Поэкспериментировав какое-то время с различными возможностями этот вариант отпал, так как нужно было воспользоваться не поиском по определенным сайтам, а воспользоваться поиском самих этих сайтов.

 

Третье, что пришло в голову (вы удивитесь) – гугл. Точнее – гугл хром. А точнее – его поисковые системы. Я знал, что у него есть возможность создавать и добавлять свои собственные поиски (более того, он это делает автоматически, как только ты воспользуешься поиском любого сайта), но мне хотелось посылать один запрос на все поисковые системы сразу, а не по одной. Но, к сожалению, ни настройки ни расширения в этом вопросе мне не помогли. (Дабы не разжигать холиваров, отмечу, что не только хром, а все современные браузеры умеют создавать собственные поиски).

 

Итак, готового решения нету. Что ж, писать самому? Ну, с учетом моего программерского скила – задача явно невыполнимая. Ладно, попробуем что-нибудь изобразить...

 

Да, господа, это правда – я не программер. Хтмл иногда в виде тегов видел, про пхп что-то когда-то читал, но не более того. А уж какие-нибудь СИ++… В общем, не важно, поиск же никто не отменял.

 

Итак, первым моим блином стала страничка, делающая почти то, что мне нужно. А именно – пишешь название, нажимаешь кнопку – и она открывает сразу 8 окон разных игромагазинов с результатами поиска.

Да, это был взятый где то простенький ява-скрип и … все. А search-url я выдергивал как раз при помощи управления поисковыми системами в хроме. У меня даже не получилось добавить поисковый запрос в середину урла, только в конец, и поэтому три странички не работали. Но начало быол положено.

 

8 отдельных страниц – это тоже не очень удобно. Как бы это все замутить на одной.

 

Дикая идея использовать фреймы умерла почти в самом зародыше (вы никогда не видели страничку с восемью горизонтальными фреймами? Это нечто)). Стало понятно, что хтмл с явой тут вряд ли помогут, придется все же понимать (хоть немного) что-нибудь посерьезнее.

 

Выбор пал на PHP. Не знаю, почему. Пал и все)

 

Сначала я долго мучился, получая странички через file_get_contents и пытаясь их как-то разобрать через всякие substr. Потом на смену file_get_contents пришел curl. Спустя полдня до меня дошло, что то, что я пытаюсь сотворить называется вовсе не «метапоисковик» как мне казалось, а вовсе даже хтмл-парсинг.

И сразу стало проще {гуглить}. А после того, как моему взору предстала библиотека simple html dom все стало вообще чудесно. Почти.

 

В общем, итогом двухдневного погружения в мир программирования стал такой корявенький скрипт. На результаты можно полюбоваться тут.

Скрипт пока ищет только по двум сайтам, а выдача результата явно оставляет желать лучшего. Но он работает!)

 

И тут мне пришла в голову вообще идея-идея!

Господа тесеровцы, ведь среди вас полно программистов, я знаю!) И, думаю, вам не понадобится много времени, чтобы довести скрипт до ума (а то и кошерно развить идею).

 

Хотелки:

В идеале я вижу это так

– чекбоксы, что бы выбрать, в каких именно магазинах производить поиск.

– выдача в виде единообразной табличке (возможно, даже с картинками), с переходом на заказ по клику и возможностью сортировки.

– для сравнения можно добавить поиск и по русским магазинам (хотя цену доставки  «оттуда» все равно посчитать будет нельзя, поэтому сравнение будет довольно условным).

– ну и постепенное пополнение базы магазинов.

 

Задача то вроде не сложная, цель – благородная. =)

 

зы к сожалению, не нашел, как здесь вставлять в текст статьи хтмл или пхп-код. поэтому вставил картниками. извините)

Фото и видео

добавить
  • новые
  • популярные
nastolkus написал 8 лет назад: # скрыть ответы

Переношу сообщения о новостях и т.п. вот сюда http://nastolkus.com/poisk-po-onlajn-magazinam/
Ссылка на блоге в самом верху слева - найти легко.

ибо этот тред уже не контролируемый :) Куча замечаний в разных местах в разное время.

Появилось немного времени, сейчас займусь развитием

trent написал 8 лет назад: # скрыть ответы

там комментарии выключены=)
а по адресу nastolkus.kermid.com 500 ошибка

nastolkus написал 8 лет назад: # скрыть ответы

Уже включены, а ошибка была потому, что как раз сейчас залил обновление :)

trent написал 8 лет назад: # скрыть ответы

а вот все равно страничка не открывается.
а disqus сожрал уже второй комментарий(

nastolkus написал 8 лет назад: #

Ну не знаю - у меня всё открывается. И комментарии пишутся... Дискус может и подглючивает - разберусь сегодня что там как.

А по поводу страницы... Сервера-то не у меня дома. Мало вероятно, чтобы у меня всегда открывалось с нескольких разных машин в разных сетях, а у кого-то всегда нет :) Даже с анонимайзера проверил (http://1.hidemyass.com/ip-7/encoded/Oi8vbmFzdG9sa3VzLmtlcm1pZC5jb20v&f=norefer). Может ссыку неверную набираешь?

500 ошибка специально не ловится пока, чтобы отловить ошибки. В логах я не вижу твоих попыток.

Попробуй зайти вот сюда http://nastolkus.kermid.com/dsfgsdffffff

эта ошибка только что словилась и я вижу её в логе. Ты увидишь 500 ошибку, но я смогу посмотреть что ты пытался.

nastolkus написал 8 лет назад: # скрыть ответы

Добавил тебя, кстати, в About

http://nastolkus.kermid.com/Home/About

trent написал 8 лет назад: # скрыть ответы

спасибо)
глюк с неоткрытием локализовал - проблема осталась на одной машине (моей, рабочей, что обидно)
по дискусу - может, он режет комменты, если писать несуществующий емейл?

nastolkus написал 8 лет назад: #

По поводу дискаса - не знаю Есть вариант ещё один, что сообщения есть. Просто в строке "Discussion Community My Disqus" (сразу над комментариями) в пункте Discussion надо выбрать не Best, a New. Тогда показываться будет.

Напиши что-нибудь туда, посмотрим

sputnik1818 написал 8 лет назад: # скрыть ответы

Жду всё белоруские магазины. Пользовался бы))

nastolkus написал 8 лет назад: # скрыть ответы

Первым попробовал igra.by. В беларуси очень сильные веб программисты (без иронии), но иногда они перебарщивают... Вот кому могло придти в голову хешировать поисковый запрос? Во большинстве магазинах поиск выглядит так, например:
http://igroved.ru/search/?event=wordsearch&word=клаустрофобия

а в играй бай та же строка выглядит вот так:
http://igraj.by/search/9615cb7cbf87f234194fe0c3798ce269/

зачем??? :)

Мне откровенно лень искать алгоритм хеширования. Если дадите другие бел. магазины - постараюсь добавить.

scafandr написал 8 лет назад: # скрыть ответы

Я уже говорил на эту тему с директором. У него вообще интересная тема на сайте - там игры прописываются как доступные, причём всегда, ибо ввести другой раздел, то они не будут пробиватсья по поиску. С поиском там явно что-то намешано

sputnik1818 написал 8 лет назад: #

У них сайт можно бесконечно переделывать:) там очень неудобно то, что игры разбиты по производителям. Простому человеку эти производители до лампочки:)

sputnik1818 написал 8 лет назад: # скрыть ответы

Igraland.by - цены те же, что и в играйбае, потому достаточно игралэнда:) на играйбае только скидки были летом больше, что радовало
Ну и nastolki.by - есть такой. Других не знаю больше.

nastolkus написал 8 лет назад: #

Ок, сегодня постараюсь добавить упомянутые. Если там без фокусов, то сегодня будет.

nastolkus написал 8 лет назад: #

igraj.by - "шедевр". выше описал почему. Такого я ещё вообще нигде не видел.

igraland.by в поиске не даёт цену. Т.е. найдёт только если точно указать конкретную игру. Смысла ноль

www.nastolki.by всё передаёт get, а именно слово поиска постом (post) -
мне сейчас точно лень ковыряться с формами и т.п.

Лишний раз убедился что у беларусов что-то не так в настольном мире :)

Ни один из приведённых сайтов из беларуси не делает простое простым. Всё надо как-то извернуться :) Нафига усложнять простые вещи - непонятно. "Просто искать - нельзя. Надо посношаться" Хоть ты диссертацию пиши :)

nastolkus написал 8 лет назад: # скрыть ответы

поправил сортировку - вроде должно быть нормально. Добавил для игроведа "наличие". Кроме того, если навести мышь на слово "есть" или "нет" - покажет хинтом детали (где есть, а где нет)

временно убрал bb ибо периодически глючит. Убил часть времени, чтобы узнать, что там для посетителей и для "ботов" выдаются разные страницы :) Чуть с ума не съехал :)
Подправлю, верну обратно.

Тестируйте, а я пока причешу остальное.
http://nastolkus.kermid.com

tehniks написал 8 лет назад: # скрыть ответы

Пользуюсь Firefox, табличка результатов поиска, съехала вправо, вылезает на бордюрную серую полосу. Что бы увидеть цены, надо прокручивать. Проверял в Opera, там всё нормально.

nastolkus написал 8 лет назад: #

Ок, проверю, спасибо

nastolkus написал 8 лет назад: # скрыть ответы

добавил gaga.ru и nastolki.by. Правда последняя будет не совсем корректно работать. Дело в том, что если игра находится и она одна - сайт выдаёт не страницу списка, которую я анализирую, а страницу конкретно этой игры. Т.е. клаустрофобия одна - в моём поиске её не покажет. Надо набирать "клау" - тогда выведется список игр и я могу его анализировать.

В общем я сделал пост запросы, добавлю ещё магазинов, но уникальная "логика" точно не будет учитываться. Если навести мышь на магазин - хинтом покажет его "особенности"

trent написал 8 лет назад: # скрыть ответы

хинт на гаге не совсем корректно отображается.
сортировка вроде работает корректно (глюков найти не удалось).

думаю, нужно разделить чекбоксы магазинов на несколько групп - например русские, белорусские, американские и тд.

ну и не знаю, глюк или фича (хотя это скорее вопросы к сайтам магазинов) - игровед показывает цену для "обычных людей", гага - цену после регистрации (т.е. уже со скидкой). какую цену правильнее выводить - я пока не знаю. но думаю, это как минимум заслуживает упоминания в каком-либо виде.

минимаркет заработал, но выдает опят не все
dice - 22 из 286
zombies - 16 из 143
catan - 23 из 37
ghost - вообще подвешивает скрипт
плюс на zombies в цену сыпет тегами

nastolkus написал 8 лет назад: #

Про разделение на группы думал, сделал, надо только обновить - вечером будет.
- хинт проверю.
- а вот про цену... я вытаскивал, вроде цену по которой можно купить. Т.е. цена после регистрации это логично ибо если будешь покупать, то логично и зарегистрироваться. Про детали каждого магазина будет в хинте (пока по крайней мере)
- минимаркет проверю, спасибо

если есть ещё магазины, которые тут не упомянуты - бросайте сюда. Хотя, конечно, уже неудобно стало выискивать. Слали бы сразу мне на мыло - ничего бы не потерялось. настолкус ат настолкус ком проще не бывает :)

Просьба ко всем, если замечаете глюки - бросайте инфо в каких магазинах и с какой строкой поиска - мне быстрее будет найти проблему. Ибо времени на этот проект мало и я делаю его урывками.

Спасибо за тестинг, думаю со временем может получиться что-то удобное для всех

dancemaster написал 8 лет назад: #
спасибо!

идея прекрасная, сам думал об этом многократно, но за реализацию не брался.

здорово если получится это сделать учитывая совершенно разную структуру сайтов с играми.

респект!

Eds76 написал 8 лет назад: # скрыть ответы

Знаешь, какой актуальной опции нет ни в одном из таких поисковиков? Стоимости доставки. Если сможешь как-то сделать будет вообще жесть.
Но работа очень полезная, спасибо.

trent написал 8 лет назад: #

афаик, стоимость доставки считается в каждом отдельном случае индивидуально, после оформления заказа, поэтому эта опция принципиально не реализуема (разве что завести аккаунт на каждом из магазинов и оформлять покупку с доставкой после каждого поиска... нет, имхо, совсем не реально)

nastolkus написал 8 лет назад: #

Стоимость доставки зависит от многих факторов - страна отправителя, страна получателя, вес посылки и т.п.

Могу максимум дать примерную стоимость, иначе надо писать уже не "сайтик" для поиска, а целую систему.

Я подумаю

trent написал 8 лет назад: # скрыть ответы
nastolkus

что-то идет не так =(

поиск по bb выдает только часть результатов

(запрос ghost 3 рез-та вместо 4х)
(запрос zombies 14 из 27)
(запрос dice 8 из 85)

сортировка не всегда работает корректно
(поиск на bb, munchkin, сортировка по цене - 9, 6, 7, 3, 15; обратная сортировка - 12, 15.96, 15.98)

bb по прежнему не работает, если в запросе есть пробел

поиск по mm завешивает скрип

еще из магазинов хотелось бы увидеть gaga.ru, coolstuffinc.com и timewellspent.org (а в перспективе и amazon.de)

ну и чтобы столбец "наличие" таки начал работу, а то без него совсем печально

Journeyman написал 8 лет назад: #

Я тоже обратил внимание что поиск по BB отображает не все

nastolkus написал 8 лет назад: #

Да, я в курсе - пока только доделал, чтобы всё заработало как мне хочется, ошибки не исправлял. В воскресенье присяду и поправлю.

все пожелания зафиксированы и будут реализованы. К сожалению не всё получится, кажется с гагой есть какие-то проблемы, ен помню уже. В общем буду потихоньку реализовывать и всё будет хорошо. Скоро сделаю отдельный пост где опишу планы, сроки и т.п.