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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

зачем??? :)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

респект!

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

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

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

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

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

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

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

Я подумаю

trent написал 13 лет назад: # скрыть ответы
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 написал 13 лет назад: #

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

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

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

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

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

как показывает практика, знание С/С++/С# ни разу не помогает в подобных случаях :D

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

знание чего угодно, ели его правильно применять очень помогает :) Например я это рисую сейчас на с# ибо это тупо быстрее и удобнее.

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

о как! я думал это прерогатива "сетевых" языков типа php. Сам-то я все в настольных или встраиваемых приложениях ковыряюсь..

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

Времени не было - рисовал быстро и на коленке. Набросал ядро. http://nastolkus.kermid.com/

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

В общем если есть идеи что как поменять - давайте сюда, чтобы потом не переписывать с нуля, если всё плохо. (или на nastolkus nastolkus.com

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

Как хостинг держит нагрузку не представляю - это у меня тестовый - я там играюсь c дотнетом - заодно и узнаем :) Ищет не очень быстро, вроде, но ищет. Если получится нормальный продукт - возьму план повзрослее, чтобы пользовались.

Если кто хочет быстро добавить магазин - пишите сюда. Или пришлите регексп. Принцип простой - "<tr><td height="22".*?<img src="(?<image>.*?)".*?<font size="4">"
+ "(?<desc>.*?)</font>.*?color="crimson">(?<price>.*?)</font>.*?<a href="(?<link>.*?)".*?"

В регекспе должны быть 4 именованных параметра - desc, price, image, link

кто понимает что это такое - поймёт :)

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

круто.
непонятно, правда, что не так с игроведом, ибо utf-8 же. у меня сразу заработало.

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

и, как я понимаю, не php, так что напрямую меняться кодом не выйдет. но тем не менее можно ли где глянуть исходники?

зы и в порядке очередных хотелок - а можно сделать отключаемый вывод картинок?

ззы я правильно понимаю, что если ничего в базе не хранить, то и сортировки по цене (например) не получится в принципе?

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

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

регекспы, _если их применять к месту_ это мощнейший и удобнейший инструмент. Если интересно - брось в личку клич - скину отличнейшую книгу по ним. Кстати для парсинга html регекспы вообще-то использовать не рекомендуется, но в _данном случае_ задача решалась с ними быстрее, проще и удобнее для меня.

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

отключать картинки конечно можно, сделаю

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

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

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

в личку клич кинул)

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

По Игроведу не выводит главное - наличие. (ну и город для российских магазинов важен - тот же игровед на питер/москву делится)

По Питерским магазинам я обычно обхожу:
http://www.igroved.ru/
http://www.gaga.ru/
http://www.hobbyt.su/
http://lavkaigr.ru/
http://www.mosigra.ru/
иногда заглядываю в:
http://www.realitygames.ru
http://monopoly-game.ru/

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

принято, сделаю

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

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

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

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

http://nastolkus.kermid.com/

нужны тестировщики :) информируйте об ошибках

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

Вбей Bohnanza или Бонанза. Что-то не то с поиском в Мосигре

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

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

скорее всего чтобы клиент не ушёл ему подсовываются случайные игры

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

Так попробуй вырезать всё, если Мосигра подсунула допустим больше 5 игр

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

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

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

Отличная идея, и её хорошая и главное быстрая реализация! Спасибо.
Из замечаний. Мосигра - бестолковый сайт, если нет товара который ищешь выдаёт всё подряд, чем только засоряет поиск, хорошо что можно отключать магазины! наличие игр не показывается. Из пожеланий - побольше магазинов, пожалуйста)))

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

магазинов добавлю(прямо сейчас пару добавляю), с мосигрой ничего не смогу поделать :)

если есть пожелания по магазинам - сюда или мне на мэйл. Наличие сделаю чуть позже.

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

Пожелания по нашим магазинам.
http://www.gaga.ru/
http://hobbygames.ru/
http://btrain.ru/
http://tortugagames.ru/
http://senetclub.ru/

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

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

А верстка так, что цены и игры в разных блоках это вообще пипец.

В общем буду добавлять потихоньку. На один магазин уходит минут 10-15, так что те, что не сильно "выпендренные" добавлю быстро. Остальные ... только если ОЧЕНЬ надо будет.

Пишите если будут проблемы.

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

что-то не так с http://www.boardsandbits.com/ пишет
DataTables warning: JSON data from server failed to load or be parsed. This is most likely to be caused by a JSON formatting error.
а остальные супер! работает. И мосигра по умолчанию отключена-ура.

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

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

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

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

кстати в поиске по найденному работает по всем полям - т.е. набираем текст и если есть совпадение в любом столбце - покажет.

Завтра присяду, посмотрю что я там накосячил в коде со всеми этими изменениями :)

Если заметите очевидные ошибки - на мэйл.

Пока заметил только что не всегда правильно определяется senetclub.ru, завтра поправлю

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

http://www.miniaturemarket.com/ прикрути, буду очень признателен

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

ok, сделаю. Сейчас решаю одну проблему, поэтому немного сделал паузу с обновлениями. Но на днях добавлю.

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

http://www.miniaturemarket.com/ прикрутил. Да и вообще переписал чуть не заново :) Зато теперь добавлять магазины быстро :) Так что давайте заявки сюда.

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

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

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

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

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

Кстати, для наших магазинов это актуально, а для западных (которые вижу в коде) - нет, т.к. есть удобный http://boardgameprices.com

VDmitry написал 13 лет назад: #

Ну от чего же - если новый тул объединит и те магазины и эти, то толк есть.

VDmitry написал 13 лет назад: #

Ну от чего же - если новый тул объединит и те магазины и эти, то толк есть.

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

о как. кстати, да. что-то такое я себе и представлял.

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

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

ZoRDoK написал 13 лет назад: #

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

ThunderWolf написал 13 лет назад: #

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

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

скоро сделаю

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

+1

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

Тоже делаешь? Напиши если ты тоже делаешь - я не буду возиться

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

Неа, я в этом к сожалению ни бум бум. А тебе приплюсовала за отличную инициативу.

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

Инициатива не моя, хотя я тоже давно об этом думал :) Ок, постараюсь за пару дней набросать ядро. На следующей неделе будет то, чем можно пользоваться. Если будет успешной (посмотрю по статистике использования) - доведу до ума.

terjul написала 13 лет назад: #

Вот именно это я и имела ввиду ))

ThunderWolf написал 13 лет назад: #

здорово! ждем-с

trent написал 13 лет назад: #
наши магазины

игровед добавился легко.
гага сходу не подходит (у нее поисковик не на get запросах, надо будет понять, как с такими работать)
мосигра в принципе добавилась, но устроила проблемы с кодировкой (utf отдает как win1251)

ZoRDoK написал 13 лет назад: #

Примерно так начиналась 10 лет назад моя карьера пхп-программиста - с парсинга и file_get_contents =)

lepas написал 13 лет назад: #

Идея интересная и полезная, может действительно кто из гуру программистов поможет отшлифует

d1man написал 13 лет назад: #

Очень полезная штука, было бы здорово, если идея получит развитие :)