powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Парсинг динамического контента
110 сообщений из 110, показаны все 5 страниц
Парсинг динамического контента
    #39879751
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно ворпос существуют ли инструменты ,как распарсить HTML страницу в динамичным контентом?
jsoup не умеет

сама страница https://www.stoloto.ru/ruslotto/game?int=right&lastdraw
код страницы на картинке
мне нужено достать id билета и цифры из таблиц

если я делаю это обычным jsoup парсером -я получаю пустоту

Код: java
1.
2.
3.
4.
   Document doc = Jsoup.connect("https://www.stoloto.ru/ruslotto/game?int=right&lastdraw")
                .userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21")
                .get();
        Elements ticketId=doc.select("tr.numbers");


получаем на выходе

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<tr class="numbers"> 
 <td></td> 
 <td></td> 
 <td></td> 
 <td></td> 
 <td></td> 
 <td></td> 
 <td></td> 
 <td></td> 
 <td></td> 
</tr>



естественно значений нет - так как они вставляются туда скриптом


вот сам код изнутри

если кто то делал подобные вещи подскажите как это сделать в гуглах на эту тему ничего толкового нет
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879754
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в любом браузере есть интструменты разработчика. Посмотри, какие запросы идут на сервер, и выполни их сам. Скорее всего там будет json контент, который тебе и нужен
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879760
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79естественно значений нет - так как они вставляются туда скриптомкод js на разные события (перемещение мышки) изменяет DOM.
Поэтому если не идет инфа на сервер, то достать невозможно. Ну или очень сложно.
Поэтому сам не делай динамичные сайты (одного окна).
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879764
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanraв любом браузере есть интструменты разработчика. Посмотри, какие запросы идут на сервер, и выполни их сам. Скорее всего там будет json контент, который тебе и нужен
там запросы идут постоянно вот при обновлении билетов выловил вот этот запрос
https://s.stoloto.ru/service/bingo/ruslotto/change?callback=jQuery171010123521258160095_1571660062717&numbersToChange=%5B%7B%22barCode%22%3A%22999847030297%22%7D%2C%7B%22barCode%22%3A%22999847451294%22%7D%2C%7B%22barCode%22%3A%22999848565640%22%7D%5D&_=1571731633691]https://s.stoloto.ru/service/bingo/ruslotto/change?callback=jQuery171010123521258160095_1571660062717&numbersToChange=[{"barCode":"999847030297"},{"barCode":"999847451294"},{"barCode":"999848565640"}]&_=1571731633691

который возвращает вот такой json
Код: html
1.
jQuery171010123521258160095_1571660062717({"status":"pending"});
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879765
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpasv79естественно значений нет - так как они вставляются туда скриптомкод js на разные события (перемещение мышки) изменяет DOM.
Поэтому если не идет инфа на сервер, то достать невозможно. Ну или очень сложно.
Поэтому сам не делай динамичные сайты (одного окна).

В данном случае номер билета врядли генерится на клиенте, он 100% приходит с сервера, либо в json запросе либо в теге скрипт. Поэтому достаточно узнать где он лжеит и просто выдрать оттуда
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879766
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpasv79естественно значений нет - так как они вставляются туда скриптомкод js на разные события (перемещение мышки) изменяет DOM.
Поэтому если не идет инфа на сервер, то достать невозможно. Ну или очень сложно.
Поэтому сам не делай динамичные сайты (одного окна).
ну как то же эти цифры туда записываются?
значит все таки с сервера в виде json прилетают
не могу найти этот запрос в куче остальных
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879767
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79не могу найти этот запрос в куче остальныхэто самое простое. Ищи на F12
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879770
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никPetroNotC Sharpпропущено...
код js на разные события (перемещение мышки) изменяет DOM.
Поэтому если не идет инфа на сервер, то достать невозможно. Ну или очень сложно.
Поэтому сам не делай динамичные сайты (одного окна).

В данном случае номер билета врядли генерится на клиенте, он 100% приходит с сервера, либо в json запросе либо в теге скрипт. Поэтому достаточно узнать где он лжеит и просто выдрать оттуда
да я думаю это так и есть-а вот как узнать?)
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879772
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Хром, F12 - найти где в коде изменяется div
- Elements
- ПКМ на div
- Break on - Attribute modifications
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879773
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79как узнать?работать за JS прогера. Ты же не хотел всего месяц назад)))
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879780
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел там json

Код: xml
1.
jQuery171010123521258160095_1571660062720({"status":"ok","combinations":[{"barCode":"999848718755","number":"999848718755","numbers":[25,32,66,77,85,10,44,52,62,90,8,15,45,58,70,7,22,37,75,86,3,21,53,63,73,19,30,47,55,81],"favouriteNumbers":[]},{"barCode":"999848087099","number":"999848087099","numbers":[6,42,66,76,83,35,41,54,64,78,8,13,20,38,81,5,14,25,65,90,21,33,44,60,85,7,39,46,55,71],"favouriteNumbers":[]},{"barCode":"999848722212","number":"999848722212","numbers":[7,30,56,66,85,29,39,42,50,67,1,12,41,71,84,8,23,36,43,60,10,48,59,70,80,4,19,55,62,74],"favouriteNumbers":[]},{"barCode":"999860109563","number":"999860109563","numbers":[2,10,33,58,82,15,27,37,61,70,29,40,55,78,90,3,18,24,35,43,1,36,64,77,87,14,46,51,63,80],"favouriteNumbers":[]},{"barCode":"999860072050","number":"999860072050","numbers":[10,44,51,64,85,11,37,66,76,89,8,27,35,57,79,5,45,59,78,83,9,25,31,56,87,15,23,39,41,60],"favouriteNumbers":[]},{"barCode":"999848588319","number":"999848588319","numbers":[10,21,43,67,74,31,46,51,77,83,7,26,53,65,88,19,25,38,45,80,6,41,50,62,70,2,23,32,69,85],"favouriteNumbers":[]},{"barCode":"999847498971","number":"999847498971","numbers":[5,21,48,65,86,29,39,51,62,73,15,37,46,53,75,11,31,45,58,68,27,38,40,76,87,9,55,69,71,89],"favouriteNumbers":[]},{"barCode":"999860054501","number":"999860054501","numbers":[10,33,58,70,84,13,20,34,52,68,2,40,64,76,88,6,22,30,65,72,12,26,31,66,83,5,19,42,56,81],"favouriteNumbers":[]},{"barCode":"999848715475","number":"999848715475","numbers":[7,39,55,63,75,12,23,42,53,77,5,27,33,45,90,24,41,59,68,71,2,19,36,72,80,10,35,52,62,88],"favouriteNumbers":[]},{"barCode":"999859451268","number":"999859451268","numbers":[19,33,46,78,87,11,31,51,65,80,6,20,42,54,77,26,48,62,72,90,4,25,39,75,81,15,37,49,58,68],"favouriteNumbers":[]}]});





я так понял прилетает он после вот этого запроса
https://s.stoloto.ru/service/bingo/ruslotto/change?callback=jQuery171010123521258160095_1571660062718&numbersToChange=%5B%7B%22barCode%22%3A%22999847030297%22%7D%2C%7B%22barCode%22%3A%22999847451294%22%7D%2C%7B%22barCode%22%3A%22999848565640%22%7D%5D&_=1571731634332]https://s.stoloto.ru/service/bingo/ruslotto/change?callback=jQuery171010123521258160095_1571660062718&numbersToChange=[{"barCode":"999847030297"},{"barCode":"999847451294"},{"barCode":"999848565640"}]&_=1571731634332

в браузере этот запрос ничего не дает
вот как выудить этот json?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879787
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79,
надо смотреть тип запроса, скорее всего это POST. Плюс, скорее всего, куки. Так что следующий этап - SoapUI и отладка всех этих запросов.
Есть еще вариант - поуправлять браузером и брать из него готовое. Но это в ветку C#
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879791
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79вот как выудить этот json?повторить запрос уже от себя?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879794
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Ты копай давай. Что ты описываешь действия твоей руки)).
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879798
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да вообщем нашел я запрос

он отдает мне json
вот запрос

https://s.stoloto.ru/service/bingo/ruslotto/change?callback=jQuery171010123521258160095_1571660062730&numbersToChange=%5B%7B%22barCode%22%3A%22999847030297%22%7D%2C%7B%22barCode%22%3A%22999847451294%22%7D%2C%7B%22barCode%22%3A%22999848565640%22%7D%5D&_=1571733298168]https://s.stoloto.ru/service/bingo/ruslotto/change?callback=jQuery171010123521258160095_1571660062730&numbersToChange=[{"barCode":"999847030297"},{"barCode":"999847451294"},{"barCode":"999848565640"}]&_=1571733298168

причем самое интересное я думал он будет давать те же билеты,но нет-дает всегда новые
но почему то запрос нужно отправлять два раза
сначала приходит статус -pending
еще раз запрос отправляешь -прилетает json с билетами

вообщем теперь уже можно это дело автоматизировать )
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879800
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanraasv79,
надо смотреть тип запроса, скорее всего это POST. Плюс, скорее всего, куки. Так что следующий этап - SoapUI и отладка всех этих запросов.
Есть еще вариант - поуправлять браузером и брать из него готовое. Но это в ветку C#
не нормально - нашел я этот запрос,получаю json
плохо что запрос нужно два раза делать


пс.я вот думаю я по шапке то не получу от СТОЛОТО? ведь я могу их сервер положить если сделаю выборку например 100 000 билетов?)
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879807
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Конечно вмешательство незаконно.
За тобой уже выехали.
Удачи!
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879813
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,
)))
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879819
olegeos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
phantomjs предлагали?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879822
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegeos,
неа,да уже и не надо
я нашел запрос -получаю json в котром все что мне надо

но есть одна проблема

если я вставлю этот заппрос в браузер - то получаю норм ответ

если через постмен или java code то получаю стус-еррор
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879828
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79если я вставлю этот заппрос в браузер - то получаю норм ответ
если через постмен или java code то получаю стус-еррор
Посмотри в браузере - наверняка там еще заголовки/куки передаются
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879832
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanraasv79если я вставлю этот заппрос в браузер - то получаю норм ответ
если через постмен или java code то получаю стус-еррор
Посмотри в браузере - наверняка там еще заголовки/куки передаются

передается

вот оно
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Cache-Control: no-cache, no-store, must-revalidate
Connection: keep-alive
Content-Length: 64
Content-Type: application/javascript;charset=utf-8
Date: Tue, 22 Oct 2019 09:32:10 GMT
Expires: 0
Last-Modified: Mon, 26 Jul 1997 05:00:00 GMT
Pragma: no-cache
Server: nginx
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
Cookie: K=1571642393849; _ga=GA1.2.555634147.1571642396; _gid=GA1.2.1790512847.1571642396; _ym_uid=1571642396502481532; _ym_d=1571642396; _vwo_uuid_v2=D743B9A20B0FA987CC2E39AC6F7BA09B2|94fca6ec37493d710643e3e05cc3dc6b; __auc=354d77d216ded2fcd7d2e3ebf87; _fbp=fb.1.1571642397269.2005321185; SESSION=3af0ffac-8547-44ae-bebf-2a169b174b6a; ga=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJycyI6WyJDVVNUT01FUiIsIlVTRVIiXSwibG9jIjoicnUiLCJydiI6IlNJVEUiLCJmbiI6ItCh0YLQsNC90LjRgdC70LDQsiIsImRuIjoi0KHRgtCw0L3QuNGB0LvQsNCyIiwic2VnIjo0LCJleHAiOjE1NzE2NTAxMDYsInZpcCI6ZmFsc2UsImFwbCI6MjAwLCJtbCI6ImFzdl83OUBpbmJveC5ydSIsInN0IjoiUkVHSVNURVJFRCIsIm9yIjoiU1RPTE9UTyIsImMiOiJSVSIsImFwdCI6IllFUyIsImYiOnRydWUsImlwIjoiMTQ0LjM2LjI0MS4xMzEiLCJpIjoyMDgyMjA4NTA4LCJmcHQiOiJCT05VUyxXQUxMRVQiLCJsIjoiYXN2Xzc5QGluYm94LnJ1IiwibSI6Ijc5MjA2OTA4ODk2IiwidmQiOmZhbHNlLCJvIjp0cnVlLCJyZCI6MTU0NjM0MzY3MjU3NiwidyI6MTU4MzE4MDE0NjQ4LCJzY3BvIjpmYWxzZSwiZmJ5IjoyMDE5fQ.6gGR2DvDjMGbrWW0jJDBF3sArsvvk78aW5KbgM8Itmw
Host: s.stoloto.ru
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36



и что делать
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879835
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79ivanraпропущено...

Посмотри в браузере - наверняка там еще заголовки/куки передаются

передается

вот оно
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Cache-Control: no-cache, no-store, must-revalidate
Connection: keep-alive
Content-Length: 64
Content-Type: application/javascript;charset=utf-8
Date: Tue, 22 Oct 2019 09:32:10 GMT
Expires: 0
Last-Modified: Mon, 26 Jul 1997 05:00:00 GMT
Pragma: no-cache
Server: nginx
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
Cookie: K=1571642393849; _ga=GA1.2.555634147.1571642396; _gid=GA1.2.1790512847.1571642396; _ym_uid=1571642396502481532; _ym_d=1571642396; _vwo_uuid_v2=D743B9A20B0FA987CC2E39AC6F7BA09B2|94fca6ec37493d710643e3e05cc3dc6b; __auc=354d77d216ded2fcd7d2e3ebf87; _fbp=fb.1.1571642397269.2005321185; SESSION=3af0ffac-8547-44ae-bebf-2a169b174b6a; ga=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJycyI6WyJDVVNUT01FUiIsIlVTRVIiXSwibG9jIjoicnUiLCJydiI6IlNJVEUiLCJmbiI6ItCh0YLQsNC90LjRgdC70LDQsiIsImRuIjoi0KHRgtCw0L3QuNGB0LvQsNCyIiwic2VnIjo0LCJleHAiOjE1NzE2NTAxMDYsInZpcCI6ZmFsc2UsImFwbCI6MjAwLCJtbCI6ImFzdl83OUBpbmJveC5ydSIsInN0IjoiUkVHSVNURVJFRCIsIm9yIjoiU1RPTE9UTyIsImMiOiJSVSIsImFwdCI6IllFUyIsImYiOnRydWUsImlwIjoiMTQ0LjM2LjI0MS4xMzEiLCJpIjoyMDgyMjA4NTA4LCJmcHQiOiJCT05VUyxXQUxMRVQiLCJsIjoiYXN2Xzc5QGluYm94LnJ1IiwibSI6Ijc5MjA2OTA4ODk2IiwidmQiOmZhbHNlLCJvIjp0cnVlLCJyZCI6MTU0NjM0MzY3MjU3NiwidyI6MTU4MzE4MDE0NjQ4LCJzY3BvIjpmYWxzZSwiZmJ5IjoyMDE5fQ.6gGR2DvDjMGbrWW0jJDBF3sArsvvk78aW5KbgM8Itmw
Host: s.stoloto.ru
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36



и что делать
Очевидно передавать те же заголовки и куки.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879839
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно взять готовый куки хендлер, но для тебя скорее всего важен только SESSION - его можно обработать и вручную. Пока можешь просто скопировать куки-заголовок из браузера в код и посмотреть, что этого достаточно (браузер при этом не закрывай)
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39879865
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanraможно взять готовый куки хендлер, но для тебя скорее всего важен только SESSION - его можно обработать и вручную. Пока можешь просто скопировать куки-заголовок из браузера в код и посмотреть, что этого достаточно (браузер при этом не закрывай)
спсибо дружище) все заработало )
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880631
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если не хочется упарывать во всех уже браузерах есть копи эс curl Затем сюда

https://curl.trillworks.com/

Внимание куки все равно просрочатся.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880644
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingесли не хочется упарывать во всех уже браузерах есть копи эс curl Затем сюда

https://curl.trillworks.com/

Внимание куки все равно просрочатся.
базу я уже заполнил- 200 тысяч уникальных билетов)

моя задача сейчас найти запрос который кладет нужные мне билеты в корзину

пока никак не смог идентифицировать этот запрос ,суко уже случайно 2 билета купил)
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880772
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел кнопку хрен его знает надо как то сделать такую же

Код: html
1.
2.
3.
4.
5.
6.
<div class="buttons">
		<form action="/actions/cart/add" method="post" class="cart smaller">
						<input type="hidden" name="game" value="RUS_LOTTO">
															<input type="hidden" name="targetUrl" value="/ruslotto/game?cart=lay">
			<button name="ruslotto_cart" type="submit" onclick="metrikaGoal('addticketincart');" class="pretty_button type_primary btn_m outline_white scaller" data-acter="click" data-typer="game_addbasket" data-namer="" "=""><ins class="iconic-cart"></ins>В корзину</button>
		<input type="hidden" name="data" value="{&quot;drawId&quot;:null,&quot;gameType&quot;:&quot;manual&quot;,&quot;baseStake&quot;:100,&quot;gameMode&quot;:&quot;normal&quot;,&quot;tickets&quot;:[{&quot;barCode&quot;:&quot;999848418522&quot;,&quot;numbers&quot;:[2,11,21,58,74,17,23,36,60,87,39,40,50,75,89,5,16,20,37,68,29,44,67,71,81,7,15,34,51,85]}],&quot;favorites&quot;:[],&quot;sumTotal&quot;:100,&quot;ticketsCount&quot;:1}"
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880790
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай рутрекер парсить. Магнитики нужны чо.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880794
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79нашел кнопку хрен его знает надо как то сделать такую же

Код: html
1.
2.
3.
4.
5.
6.
<div class="buttons">
		<form action="/actions/cart/add" method="post" class="cart smaller">
						<input type="hidden" name="game" value="RUS_LOTTO">
															<input type="hidden" name="targetUrl" value="/ruslotto/game?cart=lay">
			<button name="ruslotto_cart" type="submit" onclick="metrikaGoal('addticketincart');" class="pretty_button type_primary btn_m outline_white scaller" data-acter="click" data-typer="game_addbasket" data-namer="" "=""><ins class="iconic-cart"></ins>В корзину</button>
		<input type="hidden" name="data" value="{&quot;drawId&quot;:null,&quot;gameType&quot;:&quot;manual&quot;,&quot;baseStake&quot;:100,&quot;gameMode&quot;:&quot;normal&quot;,&quot;tickets&quot;:[{&quot;barCode&quot;:&quot;999848418522&quot;,&quot;numbers&quot;:[2,11,21,58,74,17,23,36,60,87,39,40,50,75,89,5,16,20,37,68,29,44,67,71,81,7,15,34,51,85]}],&quot;favorites&quot;:[],&quot;sumTotal&quot;:100,&quot;ticketsCount&quot;:1}"


Вот изврат то. Смешивание логики и представления.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880800
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 2000х у меня тоже был выбор. Идти в фулстек или в классический back-end.
Моё слабое сердце не выдержало UI разработки. Посмотрел я как ребятя костылят велосипеды.

Особенно плохо было с браузерами. Сколько браузеров столько и if-ов в коде.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880801
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ты верно решил). Фронт студенты лабают.
Еще прикольно что 404 то есть не загрузка всей страницы с кодом не останавливает программу в кавычках.
И на экран варнинг не выводится.
Что сразу исключает из корпоратива и ентерпрайза.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880805
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

короче перехватил я запрос этот

два раза он отсылается

выглядит не очень понятно,помимо куки мне надо вот это передать
Код: java
1.
2.
3.
4.
5.
6.
7.
game: RUS_LOTTO
targetUrl: /ruslotto/game?cart=lay
ruslotto_cart: 
data: {"drawId":null,"gameType":"manual","baseStake":100,"gameMode":"normal","tickets":[{"barCode":"999848888385","numbers":[25,34,45,64,85,12,22,44,55,70,5,14,69,72,90,13,33,54,67,78,8,28,46,58,83,15,20,32,47,73]}],"favorites":[],"sumTotal":100,"ticketsCount":1}
clientId: 555634147.1571642396
userAgent: Chrome/77
trackingId: UA-44214555-1
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880811
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79, ох чет я сомневаюсь насчет твоей этой активности.

Ребята из Лото не вломят ли тебе пилюлей?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880820
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я сформировал запрос
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 String s=  Jsoup.connect("https://www.stoloto.ru/actions/cart/add")
                .ignoreContentType(true)
                .cookies(kuki)
                .method(Connection.Method.POST)
                .userAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36")
                .data("game","RUS_LOTTO")
                .data("targetUrl","/ruslotto/game?cart=lay")
                .data("data","{\"drawId\":null,\"gameType\":\"manual\",\"baseStake\":100,\"gameMode\":\"normal\",\"tickets\":[{\"barCode\":\"999860397328\",\"numbers\":[2,13,27,73,84,8,26,39,40,88,16,38,50,60,77,4,19,36,54,90,5,17,34,48,79,20,42,51,63,78]}],\"favorites\":[],\"sumTotal\":100,\"ticketsCount\":1}")
                .data("userAgent","Chrome/77")
                .data("trackingId","UA-44214555-1")
                .data("clientId","555634147.1571642396")
                .execute()
                .body();
        return s;



получаю сначала норм ответ pending
а потом
Код: xml
1.
{"items":[],"url":"/ruslotto/game?cart=lay","status":"ok"}



но чего то не добавляется ничо в корзину
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880822
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonasv79, ох чет я сомневаюсь насчет твоей этой активности.

Ребята из Лото не вломят ли тебе пилюлей?

за что? все в отктром доступе
я же не сервер ломаю,а хочу купить билеты,которые мой апликейшн выбрал)
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880830
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Увы. У них не публичное api. Официально ты нарушаешь закон.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880833
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpasv79,
Увы. У них не публичное api. Официально ты нарушаешь закон.
всмысле нарушаю?
я беру запросы из браузера,которые завуалированы под кнопки
в чем разница -нажал я кнопку или запрос отправил руками на сервер
я же не меняю какие то данные
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880834
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Представь, что есть дом, калитка со звонком. Открыто.
Ты зашел в открытую дверь и гуляешь и "нюхаешь цветы"))).
Не законно.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880835
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79в чем разница -нажал я кнопку или запрос отправил руками на серверприменил отмычку.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880836
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79maytonasv79, ох чет я сомневаюсь насчет твоей этой активности.

Ребята из Лото не вломят ли тебе пилюлей?

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

С какими намерениями ты парсил сайт?

Улавливаешь?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880838
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonasv79пропущено...


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

С какими намерениями ты парсил сайт?

Улавливаешь?

ну вы даете))
я могу тоже самое делать на бумажке- обновлять билеты -записывать комбинации-- потом так же в ручную найти нужные мне билеты)
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880839
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpasv79,
Представь, что есть дом, калитка со звонком. Открыто.
Ты зашел в открытую дверь и гуляешь и "нюхаешь цветы"))).
Не законно.
все верно -защел в калитку=залез в базу данных
а если ты нюхаешь цветы на общественной улице -это твое право
я же не лезу на сервер
все в рамках их же запросов - просто без браузера
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880841
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79maytonпропущено...

Тут понимаешь. Уголовное право на это смотрит так. Ты. Стас Иванов. С какой целью на улицу пошел с ножиком?
Хлебушек порезать? Или может ты задумал покушение на убийство?

С какими намерениями ты парсил сайт?

Улавливаешь?

ну вы даете))
я могу тоже самое делать на бумажке- обновлять билеты -записывать комбинации-- потом так же в ручную найти нужные мне билеты)
Ну вот и делай на бумажке. По крайней мере с точки зрения преступления сложнее будет доказать.
И есть еще градация. Преступление с испольованием тех-средств. Как-то автомобилей. Электро-инструмента.
И т.п. Статья более тяжелая. И больше лет дают.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880843
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79просто без браузерав этом дело.
Это их ИС и их программное обеспечение.
У банка тоже есть банк-клиент.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880846
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, ты эмулировал браузер))
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880861
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpВообще, ты эмулировал браузер))

лучше скажи почему не кладется билет в корзину?)
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880864
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Включи в браузере режим девелопера. И добавь в корзину средствами UI.
Посмотри какие сервисные методы работают и что возвращают.

Тут никто кроме тебя не будет разбираться.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880883
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
так делаю
там кнопка которая отправляет пост запрос
я вроде все так же прописал - и даже приходит ответ от сервера типо ОК
но вот в корзине то пусто
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880893
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Так не бывает.
Значит не все повторил со старта сессии.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880895
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Не один запрос, а все запросы за сеанс с куками.
Это если в js проверок нет.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39880954
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79mayton,
так делаю
там кнопка которая отправляет пост запрос
я вроде все так же прописал - и даже приходит ответ от сервера типо ОК
но вот в корзине то пусто
Подожди. Ты же наполнял корзину. Что изменилось с тех пор как она перестала наполнятся.

P.S. Ну хитёёёр...
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881010
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonasv79mayton,
так делаю
там кнопка которая отправляет пост запрос
я вроде все так же прописал - и даже приходит ответ от сервера типо ОК
но вот в корзине то пусто
Подожди. Ты же наполнял корзину. Что изменилось с тех пор как она перестала наполнятся.

P.S. Ну хитёёёр...
не я не корзину наполнял- а базу

я эмулирую нажатие кнопки обновить билеты - получаю 10 билетов-заношу их в базу-обновляю -заношу

пропустил через фильтр - у меня есть номера билетов и комбинации-все что нужно каким то образом положить их в корзину
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881025
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpasv79,
Не один запрос, а все запросы за сеанс с куками.
Это если в js проверок нет.
там html форма

Код: java
1.
2.
3.
4.
5.
<form action="/actions/cart/add" method="post" class="cart smaller">
						<input type="hidden" name="game" value="RUS_LOTTO">
															<input type="hidden" name="targetUrl" value="/ruslotto/game?cart=lay">
			<button name="ruslotto_cart" type="submit" onclick="metrikaGoal('addticketincart');" class="pretty_button type_primary btn_m outline_white scaller" data-acter="click" data-typer="game_addbasket" data-namer="" "=""><ins class="iconic-cart"></ins>В корзину</button>
		<input type="hidden" name="data" value="{&quot;drawId&quot;:null,&quot;gameType&quot;:&quot;manual&quot;,&quot;baseStake&quot;:100,&quot;gameMode&quot;:&quot;normal&quot;,&quot;tickets&quot;:[{&quot;barCode&quot;:&quot;999848863201&quot;,&quot;numbers&quot;:[6,17,25,48,55,4,37,69,72,88,20,57,60,77,85,2,18,24,59,64,11,35,46,79,82,26,31,42,78,80]}],&quot;favorites&quot;:[],&quot;sumTotal&quot;:100,&quot;ticketsCount&quot;:1}"></form>



я отправляю все как и тут ,кроме вот этоого скрипта - я не могу вообще его найти

Код: html
1.
onclick="metrikaGoal('addticketincart')



мне приходит нормальный json
Код: html
1.
{"status":"pending"}



а когда второй раз посылаю запрос ( да у них почему то два раза запрос отпрааляется)
выходит вот такой json

Код: html
1.
{"items":[],"url":"/ruslotto/game?cart=lay","status":"ok"}



а в корзине пусто-потому что туда судя по всему не лег никакой итем -почему -понятия не имею

я отловил этот запрос в девтуле -когда кнопку жмешь все куки так же отправляю

не пойму в чем прикол
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881029
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот эти два запроса Post уходят на сервер
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881036
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запросы add

вот они изнутри

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
Request URL: https://www.stoloto.ru/actions/cart/add
Request Method: POST
Status Code: 200 OK
Remote Address: 178.248.233.104:443
Referrer Policy: no-referrer-when-downgrade
Cache-Control: no-cache, no-store, must-revalidate
Connection: keep-alive
Content-Length: 1349
Content-Type: application/json
Date: Thu, 24 Oct 2019 12:15:50 GMT
Expires: 0
Last-Build: 1571919350396
Last-Modified: Mon, 26 Jul 1997 05:00:00 GMT
Pragma: no-cache
Server: nginx
Set-Cookie: gjac=true;Path=/;Secure;HttpOnly
Set-Cookie: gbr=b0cc93ed-db48-45dd-a552-c7122bcbc5cb;Path=/;Domain=.stoloto.ru;Expires=Thu, 24-Oct-2019 14:15:50 GMT;Max-Age=7200;HttpOnly
Set-Cookie: gbr=;Path=/;Expires=Thu, 01-Jan-1970 00:00:00 GMT;Max-Age=0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
Content-Length: 576
Content-Type: application/x-www-form-urlencoded
Cookie: isgua=false; K=1571642393849; _ga=GA1.2.555634147.1571642396; welcome=true; _ym_uid=1571642396502481532; _ym_d=1571642396; _vwo_uuid_v2=D743B9A20B0FA987CC2E39AC6F7BA09B2|94fca6ec37493d710643e3e05cc3dc6b; __auc=354d77d216ded2fcd7d2e3ebf87; flocktory-uuid=9eebf146-8146-4fc2-89a9-15931e5d3b11-4; _fbp=fb.1.1571642397269.2005321185; SESSION=3af0ffac-8547-44ae-bebf-2a169b174b6a; wimhash21=1d86f019fc149371f67eacc92411a2de; _gid=GA1.2.528436366.1571900704; _ym_isad=2; _SI_VID_1.6befd9a02400013179aba889=1134aad1af7fd95e3601aaf2; __utmc=35201507; __utmz=35201507.1571903908.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __asc=4806e88c16dfda786524a293fbf; _ym_visorc_15627616=w; gbr=b0cc93ed-db48-45dd-a552-c7122bcbc5cb; ga=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJycyI6WyJDVVNUT01FUiIsIlVTRVIiXSwibG9jIjoicnUiLCJydiI6IlNJVEUiLCJmbiI6ItCh0YLQsNC90LjRgdC70LDQsiIsImRuIjoi0KHRgtCw0L3QuNGB0LvQsNCyIiwic2VnIjo0LCJleHAiOjE1NzE5MTk2NTIsInZpcCI6ZmFsc2UsImFwbCI6MjAwLCJtbCI6ImFzdl83OUBpbmJveC5ydSIsInN0IjoiUkVHSVNURVJFRCIsIm9yIjoiU1RPTE9UTyIsImMiOiJSVSIsImFwdCI6IllFUyIsImYiOnRydWUsImlwIjoiMTQ0LjM2LjI0MS4xMzEiLCJpIjoyMDgyMjA4NTA4LCJmcHQiOiJXQUxMRVQsQk9OVVMiLCJsIjoiYXN2Xzc5QGluYm94LnJ1IiwibSI6Ijc5MjA2OTA4ODk2IiwidmQiOmZhbHNlLCJvIjp0cnVlLCJyZCI6MTU0NjM0MzY3MjU3NiwidyI6MTU4MzE4MDE0NjQ4LCJzY3BvIjpmYWxzZSwiZmJ5IjoyMDE5fQ.AztdR1kJdGbrj07KwIAczwTf00OLExLfihIhz5Zoyu4; __utma=35201507.555634147.1571642396.1571911246.1571919247.3; __utmt=1; __utmb=35201507.1.10.1571919247; _gat=1; _SI_SID_1.6befd9a02400013179aba889=7cbf3fafc3d0f8314874ad9d.1571919349795.187193; gjac=true
Host: www.stoloto.ru
Origin: https://www.stoloto.ru
Referer: https://www.stoloto.ru/ruslotto/game?cart=lay&lastdraw
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36
X-Requested-With: XMLHttpRequest
game: RUS_LOTTO
targetUrl: /ruslotto/game?cart=lay
ruslotto_cart: 
data: {"drawId":null,"gameType":"manual","baseStake":100,"gameMode":"normal","tickets":[{"barCode":"999848989081","numbers":[18,28,30,69,78,1,10,45,52,82,3,23,36,48,66,11,25,35,68,75,17,29,47,51,80,8,41,57,79,89]}],"favorites":[],"sumTotal":100,"ticketsCount":1}
clientId: 555634147.1571642396
userAgent: Chrome/77
trackingId: UA-44214555-1
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881038
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот мои запрос

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
   public static String parsUrl() throws IOException {

        Map<String, String> kuki = new HashMap<String, String>();
        kuki.put("isgua", "false");
        kuki.put("K", "1571642393849");
        kuki.put("_ga", "GA1.2.555634147.1571642396");
        kuki.put("welcome", "true");
        kuki.put("_ym_uid", "1571642396502481532");
        kuki.put("_ym_d", "1571642396");
        kuki.put("_vwo_uuid_v2", "D743B9A20B0FA987CC2E39AC6F7BA09B2|94fca6ec37493d710643e3e05cc3dc6b");
        kuki.put("__auc", "354d77d216ded2fcd7d2e3ebf87");
        kuki.put("flocktory-uuid", "9eebf146-8146-4fc2-89a9-15931e5d3b11-4");
        kuki.put("_fbp", "fb.1.1571642397269.2005321185");
        kuki.put("SESSION", "3af0ffac-8547-44ae-bebf-2a169b174b6a");
        kuki.put("wimhash21", "1d86f019fc149371f67eacc92411a2de");
        kuki.put("gbr", "80a9b31e-426d-412e-b3b9-1d6fbc2cc706");
        kuki.put(" __asc", "e963747316dfc95435c20033bee");
        kuki.put("_gid", "GA1.2.1790512847.1571642396");
        kuki.put("_ym_visorc_15627616", "w");
        kuki.put("_ym_isad=", "2");
        kuki.put("_SI_VID_1.6befd9a02400013179aba889", "1134aad1af7fd95e3601aaf2");
        kuki.put("__utma", "35201507.555634147.1571642396.1571903908.1571903908.1");
        kuki.put("__utmc", "35201507");
        kuki.put("__utmz", "35201507.1571903908.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)");
        kuki.put("ga", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJycyI6WyJDVVNUT01FUiIsIlVTRVIiXSwibG9jIjoicnUiLCJydiI6IlNJVEUiLCJmbiI6ItCh0YLQsNC90LjRgdC70LDQsiIsImRuIjoi0KHRgtCw0L3QuNGB0LvQsNCyIiwic2VnIjo0LCJleHAiOjE1NzE5MDkwODksInZpcCI6ZmFsc2UsImFwbCI6MjAwLCJtbCI6ImFzdl83OUBpbmJveC5ydSIsInN0IjoiUkVHSVNURVJFRCIsIm9yIjoiU1RPTE9UTyIsImMiOiJSVSIsImFwdCI6IllFUyIsImYiOnRydWUsImlwIjoiMTQ0LjM2LjI0MS4xMzEiLCJpIjoyMDgyMjA4NTA4LCJmcHQiOiJXQUxMRVQsQk9OVVMiLCJsIjoiYXN2Xzc5QGluYm94LnJ1IiwibSI6Ijc5MjA2OTA4ODk2IiwidmQiOmZhbHNlLCJvIjp0cnVlLCJyZCI6MTU0NjM0MzY3MjU3NiwidyI6MTU4MzE4MDE0NjQ4LCJzY3BvIjpmYWxzZSwiZmJ5IjoyMDE5fQ.Z17yMsbZ_NRxYzOObp_TIQ_a4oQB_zAdRNzuMQUqg4Y");
        kuki.put("_SI_SID_1.6befd9a02400013179aba889", "c52e1af865d0f8314b1f565e.1571909780891.432640; _gat=1");
//        String json = Jsoup.connect("https://s.stoloto.ru/service/bingo/ruslotto/change?callback=jQuery171010123521258160095_1571660062730&numbersToChange=%5B%7B%22barCode%22%3A%22999847030297%22%7D%2C%7B%22barCode%22%3A%22999847451294%22%7D%2C%7B%22barCode%22%3A%22999848565640%22%7D%5D&_=1571733298168")

      String s=  Jsoup.connect("https://www.stoloto.ru/actions/cart/add")
                .ignoreContentType(true)
                .cookies(kuki)
                .method(Connection.Method.POST)
                .userAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36")
                .data("game","RUS_LOTTO")
                .data("targetUrl","/ruslotto/game?cart=lay")
                .data("data","{\"drawId\":null,\"gameType\":\"manual\",\"baseStake\":100,\"gameMode\":\"normal\",\"tickets\":[{\"barCode\":\"999848970204\",\"numbers\":[26,33,49,52,86,37,41,69,74,85,8,19,29,62,78,7,15,28,63,87,16,31,55,64,70,6,24,40,57,81]}],\"favorites\":[],\"sumTotal\":100,\"ticketsCount\":1}")
                .data("userAgent","Chrome/77")
                .data("trackingId","UA-44214555-1")
                .data("clientId","555634147.1571642396")
                .execute()
                .body();
        return s;


    }
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881041
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79, шикарно. Так можно и тебе пароль поменять.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881043
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
там авторизация через телефон ,врядли получится)

а вот по поводу запроса -есть какие то идеи?

как мне мои билеты в корзину положить?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881047
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79не могу вообще его найти

Код: html
1.
onclick="metrikaGoal('addticketincart')

как так?
В фоксе есть Консоль браузера. Туда идут ошибки.
Если там не ругается на отсутствии функции, значит ты плохо искал. Ищи.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881056
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881063
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79,
чего то много данных отправляешь. У тебя на форме 3 инпута и 1 кнопка. Откуда взялись
Код: javascript
1.
2.
3.
                .data("userAgent","Chrome/77")
                .data("trackingId","UA-44214555-1")
                .data("clientId","555634147.1571642396")


Ну и на куки с гугль аналитикой и яндекс метриками можно забить, тут главное SESSON
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881065
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpasv79не могу вообще его найти

Код: html
1.
onclick="metrikaGoal('addticketincart')

как так?
В фоксе есть Консоль браузера. Туда идут ошибки.
Если там не ругается на отсутствии функции, значит ты плохо искал. Ищи.
запрос то я не в браузере эмулирую а в джава коде
там ничего не ругается)
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881067
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Странный ты.
Ты сказал не нашел в js функцию АБС.
Дак ищи. Ты должен знать отладчиком что она делает.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881068
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какая то жесть хибер компонует лист из 10000 тысяч объектов уже 10 минут это нормально вообще?)
командой repo.findAll();
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881070
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79какая то жесть хибер компонует лист из 10000 тысяч объектов уже 10 минут это нормально вообще?)
командой repo.findAll();а хибер для чего вообще служит?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881074
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpasv79какая то жесть хибер компонует лист из 10000 тысяч объектов уже 10 минут это нормально вообще?)
командой repo.findAll();а хибер для чего вообще служит?
всмысле для чего- облегачает роботу с базами данных,представляет записи в виде сущностей
что то печаль какая то выходит - неужели хибер не может переварить 10.500 сущностей
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881079
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Не можешь запомнить "хибер для crud"?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881080
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ппц хибер не может выбрать 10 тысяч сущностей?))
серьезно

Код: java
1.
repo.findAll()


тупо вешает на глушняк все)
может проблема в том что у каждого тикета еще лист из 30 номеров и это получается уже 300000 записей ,хрен его знает

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

что за печаль беда то
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881085
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79ппц хибер не может выбрать 10 тысяч сущностей?))
серьезно

Код: java
1.
repo.findAll()


тупо вешает на глушняк все)
может проблема в том что у каждого тикета еще лист из 30 номеров и это получается уже 300000 записей ,хрен его знает

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

что за печаль беда то
Где-то недалеко вадя горько плачет
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881091
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpasv79,
Не можешь запомнить "хибер для crud"?
а что по твоему select * from table?
не круд разве?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881093
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79PetroNotC Sharpasv79,
Не можешь запомнить "хибер для crud"?
а что по твоему select * from table?
не круд разве?нет. Звезда это говнокод
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881095
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79,
10000 записей это ни о чем для хибера. Если конечно нет косяков в меппинге
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881097
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и если достаточно памяти у JVM
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881100
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79ппц хибер не может выбрать 10 тысяч сущностей?))
серьезно

Код: java
1.
repo.findAll()


тупо вешает на глушняк все)
может проблема в том что у каждого тикета еще лист из 30 номеров и это получается уже 300000 записей ,хрен его знает

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

что за печаль беда то
Еще один гвоздь в крышку гроба всех Хибера

Чтоб ты делал в отделе дата-аналитики? Там датасеты начинаются от миллионов.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881102
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevи если достаточно памяти у JVM
если бы не достаточно было -ошибка бы вывалилась
вот сама сущность

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
@Data
@Entity(name = "ticket")
public class TicketEntity {
    @Id
    private Long number;
    @ElementCollection(targetClass = Long.class, fetch = FetchType.LAZY)
    @CollectionTable(name = "numbers", joinColumns = @JoinColumn(name = "number"))
    private List<Long> numbers;
}


если фетч стоит lazy я нормально выбираю все,но потом не могу получить листы с nambers
если фетч ставлю eger то все привет-виснет на глушняк
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881105
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanraasv79,
10000 записей это ни о чем для хибера. Если конечно нет косяков в меппинге
да косяков то нет ,проблема в фетче я так понимаю
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881107
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никГде-то недалеко вадя горько плачета чё мне плакать?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881109
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот забегая вперед. Тебе repo.findAll() зачем нужен?

Тоесть что ты будешь делать потом со всей коллекцией всех своих билетов?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881112
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВот забегая вперед. Тебе repo.findAll() зачем нужен?

Тоесть что ты будешь делать потом со всей коллекцией всех своих билетов?
класть их номера в лист и выявлять какой процент каждой цифры

поставил фетч лейзи
вытянул билеты
сейчас уже минут 5 пытаюсь достать цифры -это 300000 записей где то даже поболе
не пойму толи комп дохлый толи что ,ну не должно так долго это быть явно же
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881119
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
облегчил хиберу задачу-взять все тикеты и у первых 100 тикетов выбрать номера и положить их в лист

3 минуты делал)

итого на 10800 воросов (325000 записей) нужно минут 40))это чо за прикол
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881122
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79,

foreign key - то в базе есть?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881127
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanraasv79,

foreign key - то в базе есть?
есть как же без него
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881131
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79,

если хочется жадно выбрать все 10000 записей с вложенными элементами, то в findAll надо написать селект с джойном, типа такого
Код: java
1.
"select t from ticket t join fetch t.numbers"
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881132
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79облегчил хиберу задачу-взять все тикеты и у первых 100 тикетов выбрать номера и положить их в лист

3 минуты делал)

итого на 10800 воросов (325000 записей) нужно минут 40))это чо за приколдля базы эти размеры ни о чём...
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881136
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяasv79облегчил хиберу задачу-взять все тикеты и у первых 100 тикетов выбрать номера и положить их в лист

3 минуты делал)

итого на 10800 воросов (325000 записей) нужно минут 40))это чо за приколдля базы эти размеры ни о чём...

Да что ты понимаешь? Зато не переедешь с mysql на Oracle если вдруг понадобится.

На всякий - </sarcasm>
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881144
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanra,да он нормально выбирает,но очень долго
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881146
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никДа что ты понимаешь? Зато не переедешь с mysql на Oracle если вдруг понадобится.тебе слова mayton напомнить?

даже если переедешь на Oracle или mssql это не ускорит. так что есть ли смысл в переезде?
потому как хибер не зависит от субд....
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881147
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П.C. Не помогло...
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881162
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79maytonВот забегая вперед. Тебе repo.findAll() зачем нужен?

Тоесть что ты будешь делать потом со всей коллекцией всех своих билетов?
класть их номера в лист и выявлять какой процент каждой цифры

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

Код: sql
1.
2.
3.
SELECT select_list
    FROM table_expression
    [LIMIT { number | ALL }] [OFFSET number]



Но это базе не нужно. Это нужно веб-серверу или юай чтоб он не умер от испуга.

Вот так.

Или если-б ты работал с ResultSet напрямую то ты некоторые калькуляции бы выполнял
one-by-one. Тоесть в режиме последовательной обработки как работают со Streams.
В 90% случаев мне удавалось написать такой SQL запрос который делает все из коробки.
В том числе и твою аналитику. И расчет средних. И корреляции и дисперсии и прочее.
Даже без включения Java.

Вообще современная Dbms такая как MS_SQL и Oracle делает все вычисления в контексте SQL
машины и выдавая в Java только резалт.

Так-же работает и PL/SQL машина в оракле. Она старается избавить программиста от коллекций.
Предлагая ему универсальный шаблон процессинга данных бесконечного размера. Типа

(скопипащено отсюда https://gerardnico.com/lang/plsql/open_for)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
 OPEN emp_cv FOR sql_stmt USING my_job;
   LOOP
      FETCH emp_cv INTO emp_rec;
      EXIT WHEN emp_cv%NOTFOUND;
      -- process record
   END LOOP;
   CLOSE emp_cv;



Ты же решил в Java делать бигдату и сам попался. Ну не на 300 тыщях так на 3 лямах ты все равно
упадешь и Хибер тут будет тоже непричем. А причем здесь будет изначальная постановка задачи.
А именно ЧТО ТЫ СЧИТАЕШЬ? Каков метод и алгоритм.

Обсуди в форуме метод и алгоритм твоих билетов! Безотносительно хибера и базы.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881180
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В тему стримов вот еще почитай как тут пишут.

https://blog.madadipouya.com/2019/03/26/high-performance-data-fetching-using-spring-data-jpa-stream/

Код: java
1.
2.
3.
4.
public interface BookRepository extends Repository<Book, Long> {

    Stream<Book> getAll();
}
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881190
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Ты же решил в Java делать бигдату и сам попался. Ну не на 300 тыщях так на 3 лямах ты все равно
упадешь и Хибер тут будет тоже непричем. А причем здесь будет изначальная постановка задачи.
А именно ЧТО ТЫ СЧИТАЕШЬ? Каков метод и алгоритм.

Обсуди в форуме метод и алгоритм твоих билетов! Безотносительно хибера и базы.
я просто удивлен почему так медленно,даже 100 билетов ( в которых по 30 Long ) итого 3000 лонгов достает около 3 минут
у меня не падет ни хибер ни сервер ничего,просто тупо очень долго
но оно и правильно,не спроста же придумали Lazy

а
вообще мне не нужно обращаться к таблице ticket
мне нужно обратиться вот к этой таблице

Код: html
1.
2.
3.
@ElementCollection(targetClass = Long.class, fetch = FetchType.LAZY)
    @CollectionTable(name = "numbers", joinColumns = @JoinColumn(name = "number"))
    private List<Long> numbers;


надо просто загуглить как в рамках хибернейта к такого рода таблицам обращаться можно
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881193
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79, еще раз. Твоя проблема не в Хибере а в постановке задачи. Ты решаешь не задачу билетов а технологиеское
нагромождение технологий 90% из которых тебе в принципе не нужна. Ты втащил их просто по приколу.

Вот сделай чистую рафинированную задачи билетов. Как на контестерах. Запаблиши ее в Программирование.

И тебе ее решат ра 2 секунды на каком-нить Паскале.

Разумеется я отсюда исключил парсинг сайта. Ведь это вообще другая задача верно?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881196
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никП.C. Не помогло...
нужен бейджик "не понимаю сарказм" рядом с именем мембера
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881197
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Разумеется я отсюда исключил парсинг сайта. Ведь это вообще другая задача верно?
это все одна задача
взять с сайта билеты положить их в базу ,а затем произвести над ними некие манипуляции,назовем их аналитикой

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

решения этой задачи -простое обращаться напрямую к таблице коллекции
надо посмотреть как это делается и все)

я не пойму про какие вычисления ты говоришь -найти плохие цифры?
у меня это две строчки кода и хешмапа
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881198
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79у меня это две строчки кода и хешмапа
(устало)
Зачем тебе хеш-мапа когда у тебя база данных?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881272
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonasv79у меня это две строчки кода и хешмапа
(устало)
Зачем тебе хеш-мапа когда у тебя база данных?
затем что в рамках хибера у меня ограничен функционал)
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881323
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как будет угодно. Видимо тебе не нужно решать задачу билетов.

Тебе хочется играть с хибером. Разве-ж я могу помешать если просто хочется?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881435
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКак будет угодно. Видимо тебе не нужно решать задачу билетов.

Тебе хочется играть с хибером. Разве-ж я могу помешать если просто хочется?
какая задача у билетов?

пс.уже все куплено,за ночь компухтер определелил те цифры ,которые встречаются чаше других
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881453
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот прикинь. Владельцы игорного бизнеса (покер клубы, казино и лотереи в том числе) - обычно
выходцы из преступного мира. И тут вдруг (!) внезапно они узнают что какой-то пиздюк (я говорю
не о тебе а просто образно) на публичном форуме хачит и ломает их бизнес. И делает публичной
их подноготную.

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

Но если... короче думай сам.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881464
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Короче, твоя задача и топик интересны только молодняку.
Это не кейс энтерпрайза.
Мысль понял?
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881554
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВот прикинь. Владельцы игорного бизнеса (покер клубы, казино и лотереи в том числе) - обычно
выходцы из преступного мира. И тут вдруг (!) внезапно они узнают что какой-то пиздюк (я говорю
не о тебе а просто образно) на публичном форуме хачит и ломает их бизнес. И делает публичной
их подноготную.

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

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

проблемы сейчас можно огребсти просто возвращаясь домой ,если твоя рожа не понравится ппс или у них не добит план по 228
и что теперь из дома не выходить?))
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881560
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpasv79,
Короче, твоя задача и топик интересны только молодняку.
Это не кейс энтерпрайза.
Мысль понял?
задача выполнена) тему можно закрывать
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881606
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79это тоже самое если я назову тебя хакером- когда ты по арбузу стучишь в магазине)))

Представь как щас напряглись плечевые мышцы у админов которые смотрят на лог.. где твой айпишник и ты балуешся.
Совая туда нелепицу. Вот чо они щас думают? Хакир? Не? ХЗ... но лучше на всяк случай доложить куда надо
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881671
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonasv79это тоже самое если я назову тебя хакером- когда ты по арбузу стучишь в магазине)))

Представь как щас напряглись плечевые мышцы у админов которые смотрят на лог.. где твой айпишник и ты балуешся.
Совая туда нелепицу. Вот чо они щас думают? Хакир? Не? ХЗ... но лучше на всяк случай доложить куда надо
и что они там видят?человек нажимает кнопку обновить-ищет билет какой ему хочется
я ж туда ничего не сую в том то и дело)
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881701
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати вот подумай как отличить мышко-клик человека от долбёжки бота.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881720
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКстати вот подумай как отличить мышко-клик человека от долбёжки бота.
интервалы запроса будут постоянные ,а если жадый то и отчень короткие

это легко обходится рандомным таймаутом

майтон не там ты копаешь)если бы эти ребята хотели ограничить доступ к билетом - они бы что нибудь придумали
но они не видят угрозы в том,ЧТО Кто то посмотрит на комбинации 10 000 билетов-бабки в ларьках продают у них там в каждоый пачке по 1000 билетов ,А таких пачек коробки -тоже ее в хакерши записывать будем или брать только слепых ?)))

и я могу зайти в такой ларек и пересмотреть все билеты и купить такой какой хочу
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881726
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ОК. Сообщи там. Когда выиграешь лям.
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39881730
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНу ОК. Сообщи там. Когда выиграешь лям.
да не выйграть там такие деньги
эти ребята дураки чтоли по твоему))
программа дает им комбинацию с минимально возможными для них потерями - бывает так,когда куплено много билетов -невозможно не отдать крупный выйгрышь - но это до 100000 р,А все остальное фейки-те кто там по 300 млн и выше брали
...
Рейтинг: 0 / 0
Парсинг динамического контента
    #39968547
Фотография Bimon Subio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Собственно ворпос существуют ли инструменты ,как распарсить HTML страницу в динамичным контентом?
jsoup не умеет


Помнится, играл я как раз в эту лоторею пару лет назад. Кстати, первый раз в жизни играл в лоторею, потому что не верил в свой успех в азартных играх такого профиля. Так вот выбрал перебором и купил 10 билетов по 100 руб, оканчивающихся на повторяющиеся цифры: xxx11, xxx22, ... ,xxx99
К моему удивлению все таки один билет выиграл, но смешную сумму в 100 руб. Номер выигрышного билета оканчивался на xxx66.
Даже поленился отоварить выигрышный билетик, хотя может быть, просто надо было на выигранные 100 руб купить еще один билет, но я не стал играть в азартные игры с дъяволом :)

А теперь по теме данного обсуждения.

Не проще ли воспользоваться для вашей задачи проф. тулзом типа aparser ?

Это топовый и самый скоростной парсер, который я когда-либо встречал, в первую очередь за счет своей многопоточности. Возможны сотни и даже тысячи одновременных потоков, чего не скажешь о браузерных тулзах типа Зенки и BAS, и при этом от вас НЕ требуются скилзы многопоточного программирования. Он всего за несколько минут может распарсить тысячи ваших лоторейных билетов.

При этом в нем есть масса удобных возможностей по разработке собственных парсеров современных динамических сайтов, сессии и кукисы в нем поддерживаются автоматически. Свои собственные custom парсеры можно разрабатывать на JavaScript, причем предоставляется богатая библиотека API для создания концентрированной кастом логики именно только вашего use case парсера, многие вспомогательные сервисы уже разработаны до вас - огромная экономия вашего времени.

А по поводу скорости доступа к базе данных, попробуйте для начала отследить сколько запросов в нее уходит, посмотрите узкие места (например, в DB2 можно посмотреть через db2top), может быть, нужно подкрутить буферные пулы и индексы, перенести базу данных на скоростную SSD, подключить к Hibernate Redis кэш, использовать pipe подключение вместо TCP, и многое другое. Но как уже писали для простой задачи - это overkill, хотя с другой стороны если вы собираетесь со временем наворотить там много всего интересного, то Hibernate - очень приятный и удобный выбор при правильном использовании.
...
Рейтинг: 0 / 0
110 сообщений из 110, показаны все 5 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Парсинг динамического контента
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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