powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / WebBrowser - парсинг сайта
10 сообщений из 10, страница 1 из 1
WebBrowser - парсинг сайта
    #39727606
-Solo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паршу билеты с сайта https://www.stoloto.ru/ruslotto/game?draw=1264
После парсинга нажимаю на ссылку обновить билеты и всё ок. Но если запустить сразу две программы, то одновременно обновлять билеты будет только одна, хотя если зайти на сайт через браузер и открыть 1 программу, то одновременно обновлять получается. Подскажите, можно ли что то сделать?
...
Рейтинг: 0 / 0
WebBrowser - парсинг сайта
    #39727622
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Solo,

браузер не нужен вообще... Там два запроса одних и тех же запроса:
https://www.stoloto.ru/services/site/game/pregen/ruslotto/take

В первый раз вызывается команда на генерацию, во второй раз -- получается результат. И возвращает все данные по билетам. Поэтому рекомендую разобраться в процессе генерации/работы (браузер в режиме отладки по F12 отлично в этом поможет), а потом уже смотреть.
...
Рейтинг: 0 / 0
WebBrowser - парсинг сайта
    #39727623
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так же см. на куки -- там хранится некий идентификатор "игрока". Если их "нагенерить", то наверняка можно и в потоке сразу кучу раз вызывать команды и получить разные результаты (подставляя куки под каждый запрос в отдельности).
...
Рейтинг: 0 / 0
WebBrowser - парсинг сайта
    #39727627
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вообще, там отдельная команда есть:
https://www.stoloto.ru/services/site/game/pregen/ruslotto/change

Вызывается... ждем какое-то время... и еще раз вызываем для забора результата. И всё это с разными player id.
...
Рейтинг: 0 / 0
WebBrowser - парсинг сайта
    #39727643
-Solo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. мы берём, кидаем на форму IdHTTP,
добавляем заголовки запроса

Host: www.stoloto.ru
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: https://www.stoloto.ru/ruslotto/game?draw=1264
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
Content-Length: 22
Connection: keep-alive
Cookie: тут длинная строка

добавляем их
Код: pascal
1.
2.
  for i := 0 to Memo2.Lines.Count - 1 do
    idHTTP1.Request.CustomHeaders.Add(Memo2.Lines[i]);



и отправляем POST запрос
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
procedure TFMain.sButton1Click(Sender: TObject);
var
  SL: TStringList;
begin
  SL := TSTringList.Create;
  SL.Add('numbersToChange=%5B%5D');
  Memo1.Text := idHTTP1.Post('https://www.stoloto.ru/services/site/game/pregen/ruslotto/change', SL);
  FreeAndNil(SL);
end;



так?
...
Рейтинг: 0 / 0
WebBrowser - парсинг сайта
    #39727647
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, мысли верные... Надо только куки подставить как здесь написано . Скорее всего достаточно будет только Id подставить. А чтобы его получить, можно сделай предварительный запрос на сайт, получить этот ID и сохранить куда-нибудь (если планируется несколько программ/потоков одновременно запускать -- если нет, то они и сами запомнятся у idhttp).

Кроме того необходимо два раза отправлять запрос на change. С паузой. Сначала для начала генерации... пауза... потом на получение результата.
...
Рейтинг: 0 / 0
WebBrowser - парсинг сайта
    #39727652
-Solo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. если планируется запускать несколько программ, то ID для всех прог должен быть одинаковым?
и какую задержку выбрать, 1 сек. хватит?
...
Рейтинг: 0 / 0
WebBrowser - парсинг сайта
    #39727658
-Solo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторСкорее всего достаточно будет только Id подставить.
всё верно
...
Рейтинг: 0 / 0
WebBrowser - парсинг сайта
    #39727660
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-Soloт.е. если планируется запускать несколько программ, то ID для всех прог должен быть одинаковым?
и какую задержку выбрать, 1 сек. хватит?
Без понятия. Надо тестировать что получится, а от этого уже и отталкиваться. Возможно, там вообще паузы никакой не надо или, наоборот, по 10 секунд ждать и тогда быстрее будет новый id получить и номера под него.
...
Рейтинг: 0 / 0
WebBrowser - парсинг сайта
    #39727689
-Solo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде работает. Сделал через сервер(ServerSocket1) и клиенты(ClientSocket1). При подключении клиента к серверу, тот отправляет запрос
Код: pascal
1.
idHTTP1.Get('https://www.stoloto.ru/ruslotto/game?draw=1264');

парсит Id и отправляет клиенту.

Спасибо за помощь JaDi!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / WebBrowser - парсинг сайта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]