|
|
|
WebBrowser - парсинг сайта
|
|||
|---|---|---|---|
|
#18+
Паршу билеты с сайта https://www.stoloto.ru/ruslotto/game?draw=1264 После парсинга нажимаю на ссылку обновить билеты и всё ок. Но если запустить сразу две программы, то одновременно обновлять билеты будет только одна, хотя если зайти на сайт через браузер и открыть 1 программу, то одновременно обновлять получается. Подскажите, можно ли что то сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 16:31 |
|
||
|
WebBrowser - парсинг сайта
|
|||
|---|---|---|---|
|
#18+
-Solo, браузер не нужен вообще... Там два запроса одних и тех же запроса: https://www.stoloto.ru/services/site/game/pregen/ruslotto/take В первый раз вызывается команда на генерацию, во второй раз -- получается результат. И возвращает все данные по билетам. Поэтому рекомендую разобраться в процессе генерации/работы (браузер в режиме отладки по F12 отлично в этом поможет), а потом уже смотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 17:19 |
|
||
|
WebBrowser - парсинг сайта
|
|||
|---|---|---|---|
|
#18+
Так же см. на куки -- там хранится некий идентификатор "игрока". Если их "нагенерить", то наверняка можно и в потоке сразу кучу раз вызывать команды и получить разные результаты (подставляя куки под каждый запрос в отдельности). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 17:23 |
|
||
|
WebBrowser - парсинг сайта
|
|||
|---|---|---|---|
|
#18+
И вообще, там отдельная команда есть: https://www.stoloto.ru/services/site/game/pregen/ruslotto/change Вызывается... ждем какое-то время... и еще раз вызываем для забора результата. И всё это с разными player id. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 17:28 |
|
||
|
WebBrowser - парсинг сайта
|
|||
|---|---|---|---|
|
#18+
т.е. мы берём, кидаем на форму 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. и отправляем POST запрос Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 18:42 |
|
||
|
WebBrowser - парсинг сайта
|
|||
|---|---|---|---|
|
#18+
Да, мысли верные... Надо только куки подставить как здесь написано . Скорее всего достаточно будет только Id подставить. А чтобы его получить, можно сделай предварительный запрос на сайт, получить этот ID и сохранить куда-нибудь (если планируется несколько программ/потоков одновременно запускать -- если нет, то они и сами запомнятся у idhttp). Кроме того необходимо два раза отправлять запрос на change. С паузой. Сначала для начала генерации... пауза... потом на получение результата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 18:57 |
|
||
|
WebBrowser - парсинг сайта
|
|||
|---|---|---|---|
|
#18+
т.е. если планируется запускать несколько программ, то ID для всех прог должен быть одинаковым? и какую задержку выбрать, 1 сек. хватит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 19:25 |
|
||
|
WebBrowser - парсинг сайта
|
|||
|---|---|---|---|
|
#18+
авторСкорее всего достаточно будет только Id подставить. всё верно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 19:41 |
|
||
|
WebBrowser - парсинг сайта
|
|||
|---|---|---|---|
|
#18+
-Soloт.е. если планируется запускать несколько программ, то ID для всех прог должен быть одинаковым? и какую задержку выбрать, 1 сек. хватит? Без понятия. Надо тестировать что получится, а от этого уже и отталкиваться. Возможно, там вообще паузы никакой не надо или, наоборот, по 10 секунд ждать и тогда быстрее будет новый id получить и номера под него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 19:47 |
|
||
|
WebBrowser - парсинг сайта
|
|||
|---|---|---|---|
|
#18+
Вроде работает. Сделал через сервер(ServerSocket1) и клиенты(ClientSocket1). При подключении клиента к серверу, тот отправляет запрос Код: pascal 1. парсит Id и отправляет клиенту. Спасибо за помощь JaDi! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2018, 21:11 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=91&tid=2040170]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 374ms |

| 0 / 0 |
