|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
Собственно ворпос существуют ли инструменты ,как распарсить HTML страницу в динамичным контентом? jsoup не умеет сама страница https://www.stoloto.ru/ruslotto/game?int=right&lastdraw код страницы на картинке мне нужено достать id билета и цифры из таблиц если я делаю это обычным jsoup парсером -я получаю пустоту Код: java 1. 2. 3. 4.
получаем на выходе Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
естественно значений нет - так как они вставляются туда скриптом вот сам код изнутри если кто то делал подобные вещи подскажите как это сделать в гуглах на эту тему ничего толкового нет ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 10:54 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
в любом браузере есть интструменты разработчика. Посмотри, какие запросы идут на сервер, и выполни их сам. Скорее всего там будет json контент, который тебе и нужен ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:01 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
asv79естественно значений нет - так как они вставляются туда скриптомкод js на разные события (перемещение мышки) изменяет DOM. Поэтому если не идет инфа на сервер, то достать невозможно. Ну или очень сложно. Поэтому сам не делай динамичные сайты (одного окна). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:09 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
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.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:13 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
PetroNotC Sharpasv79естественно значений нет - так как они вставляются туда скриптомкод js на разные события (перемещение мышки) изменяет DOM. Поэтому если не идет инфа на сервер, то достать невозможно. Ну или очень сложно. Поэтому сам не делай динамичные сайты (одного окна). В данном случае номер билета врядли генерится на клиенте, он 100% приходит с сервера, либо в json запросе либо в теге скрипт. Поэтому достаточно узнать где он лжеит и просто выдрать оттуда ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:14 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
PetroNotC Sharpasv79естественно значений нет - так как они вставляются туда скриптомкод js на разные события (перемещение мышки) изменяет DOM. Поэтому если не идет инфа на сервер, то достать невозможно. Ну или очень сложно. Поэтому сам не делай динамичные сайты (одного окна). ну как то же эти цифры туда записываются? значит все таки с сервера в виде json прилетают не могу найти этот запрос в куче остальных ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:14 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
asv79не могу найти этот запрос в куче остальныхэто самое простое. Ищи на F12 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:16 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
забыл никPetroNotC Sharpпропущено... код js на разные события (перемещение мышки) изменяет DOM. Поэтому если не идет инфа на сервер, то достать невозможно. Ну или очень сложно. Поэтому сам не делай динамичные сайты (одного окна). В данном случае номер билета врядли генерится на клиенте, он 100% приходит с сервера, либо в json запросе либо в теге скрипт. Поэтому достаточно узнать где он лжеит и просто выдрать оттуда да я думаю это так и есть-а вот как узнать?) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:16 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
asv79, Хром, F12 - найти где в коде изменяется div - Elements - ПКМ на div - Break on - Attribute modifications ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:18 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
asv79как узнать?работать за JS прогера. Ты же не хотел всего месяц назад))) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:19 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
нашел там json Код: xml 1.
я так понял прилетает он после вот этого запроса 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? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:31 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
asv79, надо смотреть тип запроса, скорее всего это POST. Плюс, скорее всего, куки. Так что следующий этап - SoapUI и отладка всех этих запросов. Есть еще вариант - поуправлять браузером и брать из него готовое. Но это в ветку C# ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:36 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
asv79вот как выудить этот json?повторить запрос уже от себя? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:41 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
asv79, Ты копай давай. Что ты описываешь действия твоей руки)). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:43 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
да вообщем нашел я запрос он отдает мне 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 с билетами вообщем теперь уже можно это дело автоматизировать ) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:49 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
ivanraasv79, надо смотреть тип запроса, скорее всего это POST. Плюс, скорее всего, куки. Так что следующий этап - SoapUI и отладка всех этих запросов. Есть еще вариант - поуправлять браузером и брать из него готовое. Но это в ветку C# не нормально - нашел я этот запрос,получаю json плохо что запрос нужно два раза делать пс.я вот думаю я по шапке то не получу от СТОЛОТО? ведь я могу их сервер положить если сделаю выборку например 100 000 билетов?) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 11:51 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
asv79, Конечно вмешательство незаконно. За тобой уже выехали. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 12:00 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 12:07 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
phantomjs предлагали? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 12:15 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
olegeos, неа,да уже и не надо я нашел запрос -получаю json в котром все что мне надо но есть одна проблема если я вставлю этот заппрос в браузер - то получаю норм ответ если через постмен или java code то получаю стус-еррор ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 12:19 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
asv79если я вставлю этот заппрос в браузер - то получаю норм ответ если через постмен или java code то получаю стус-еррор Посмотри в браузере - наверняка там еще заголовки/куки передаются ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 12:28 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
ivanraasv79если я вставлю этот заппрос в браузер - то получаю норм ответ если через постмен или java code то получаю стус-еррор Посмотри в браузере - наверняка там еще заголовки/куки передаются передается вот оно Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
и что делать ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 12:34 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
asv79ivanraпропущено... Посмотри в браузере - наверняка там еще заголовки/куки передаются передается вот оно Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
и что делать Очевидно передавать те же заголовки и куки. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 12:37 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
можно взять готовый куки хендлер, но для тебя скорее всего важен только SESSION - его можно обработать и вручную. Пока можешь просто скопировать куки-заголовок из браузера в код и посмотреть, что этого достаточно (браузер при этом не закрывай) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 12:44 |
|
Парсинг динамического контента
|
|||
---|---|---|---|
#18+
ivanraможно взять готовый куки хендлер, но для тебя скорее всего важен только SESSION - его можно обработать и вручную. Пока можешь просто скопировать куки-заголовок из браузера в код и посмотреть, что этого достаточно (браузер при этом не закрывай) спсибо дружище) все заработало ) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 13:03 |
|
|
start [/forum/topic.php?fid=59&msg=39879819&tid=2120787]: |
0ms |
get settings: |
14ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
57ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
439ms |
get tp. blocked users: |
1ms |
others: | 6ms |
total: | 528ms |
0 / 0 |