html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

Как я купил билеты на ЧМ2018 и не умер

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

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

Новая надежда

Но оставалась ещё одна надежда - билеты периодически появлялись в продаже – либо кто-то отказывался от своих, либо организаторы выкладывали какие-то резервы.

И так я начал разглядывать страницу со списком доступных билетов в ожидании когда же в продаже появятся билеты по доступным ценам на матчи в моём городе. Это занятие было не самое благодарное, ибо выбрасывали билеты буквально два раза в день, автоматическое обновление страницы происходит раз в 5 минут, и к моменту обновления билетов может уже не быть. Самому обновлять страницу тоже не вариант, т.к. каждый раз надо проматывать правила покупки и соглашаться с условиями.

Скрытая угроза

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

Сниффиг – лучший друг хакеров. В результате сниффинга удалось вычислить актуальную ссылку. Внезапно, ссылка оказалась доступна без регистрации. Осталось только разобрать выдачу.

Пробуждение силы

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

import time
from pybeep.pybeep import PyBeep
import requests
while True:
url = f"https://tickets.fifa.com/API/WCachedL1/en/Availability/GetAvailability" #ссылка на json со списком доступных билетов
print("Requesting available tickets")
tickets = requests.get(url).json()
data = tickets["Data"]
for match in data:
if match["p"] in "IMT42,IMT52,IMT57" and match["c"] > 16 and match["c"] != 18 and match["a"]:
# p - номер матча, соответствует номеру матча на странице с билетами, 14,15,16 - дорогие билеты, 18 - инвалидские
# 42,52,57 - матчи в моём городе, доступные на момент написания скрипта к покупке билетов
print(match["p"],match["c"],match["a"])
PyBeep().beep() # Если есть какие-то другие билеты в продаже - подать сигнал
time.sleep(30) # повторить через 30 секунд

Конечно же, для покупки билетов нужно всё равно открывать сайт со списком билетов и проходить очередь. Но когда страница уже открыта, то логаута долго не происходит. Ждём звукового сигнала, бежим руками обновляем страницу и покупаем заветные недорогие билеты. Вуаля!

Читать дальше
Twitter
Одноклассники
Мой Мир

материал с tjournal.ru

2

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • tjournal
          • футбол
          • fifa
          • чемпионат
          • лето
          • домен tjournal.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции