|
(php, cUrl). cURL не получает полную информацию с сервера.
|
|||
---|---|---|---|
#18+
Привет! Есть url : https: //shop.donaldson.com/store/ru-ru/product/P550299/20271 - в браузер идёт полная красивая инфа. - а через cURL (а так-же кэш гугла, например) получают только треть инфы с этого сервера - часть данных не поступает. Пытался заголовками через cURL полностью "мимикрировать" под свой браузер: безрезультатно. Сертификаты не подключал (не знаю как, думаю не в них дело, раз идёт загрузка) : CURLOPT_SSL_VERIFYPEER => false Как думаете реально получить через cURL то, что можно получить через браузер? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 16:34 |
|
(php, cUrl). cURL не получает полную информацию с сервера.
|
|||
---|---|---|---|
#18+
Открываю страницу в браузере, жму Ctrl+S, сохранить только HTML - итоговый размер файла 105057 байт. Из консоли тот же адрес без мимикрирований: Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 19:04 |
|
(php, cUrl). cURL не получает полную информацию с сервера.
|
|||
---|---|---|---|
#18+
Ну, я не взвешивал - оценивал подгруз визуально ("контентно, информативно") - если так можно выразиться. Самое тяжёлое там скрипты и картинка с фильтром - их cURL подгружает, а, например, размер этого фильтра (и применимость) - уже нет. Сорри, что не совсем ясно в начале выразился... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 19:44 |
|
(php, cUrl). cURL не получает полную информацию с сервера.
|
|||
---|---|---|---|
#18+
zadov2008оценивал подгруз визуально ("контентно, информативно")Чем байты не устроли? Точнее и информативнее уж некуда. zadov2008скрипты и картинка с фильтром - их cURL подгружает, а, например, размер этого фильтра (и применимость) - уже нетКакой URL дадите курлу для загрузки - такой и будет скачивать. По крайней мере, будет пытаться. Дали URL HTML-кода - он и будет запрошен и, возможно, получен. Требуется что-то ещё - указывайте конкретные URLы нужного. В ряде случаев для полноты "прикинуться браузером" потребуется поддержка куков и соблюдение последовательности запросов. Всю веб-страницу целиком (включая скрипты, стили, картинки и т.д.) за один запрос curl скачивать не умеет. Если очень надо получить веб-страницу (или сайт) целиком - это умеет wget. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 20:41 |
|
(php, cUrl). cURL не получает полную информацию с сервера.
|
|||
---|---|---|---|
#18+
vkle, именно на этом сайте стоит защита от cURL . (многие, я видел, в форумах спрашивали как защитить сайт от cURL (количеством обращений, таймаутом и т.д.) - вот тут они могут посмотреть как эта защита работает в живую). от cURL нужен только скачаный HTML-код (без стилей, картинок и т.д.) Но часть HTML-кода - защищена от cURL : Вот середина html-кода при исследовании элемента браузером : Код: html 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.
Вот этот-же кусок у cURL : Код: html 1. 2. 3. 4. 5.
Я уже много-чего перепробовал, чтобы подобрать правильные параметры cURL, чтобы меня восприняли как браузер - не смог... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 21:10 |
|
(php, cUrl). cURL не получает полную информацию с сервера.
|
|||
---|---|---|---|
#18+
zadov2008на этом сайте стоит защита от cURL Глупости. Существует масса способов защиты от ботов, от "быстрого" скачивания, но "защита от cURL"... Ладно, напишите своего клиента, не так уж оно и сложно. И пусть только этот сайт попробует не отдать правильный контент этому самописному клиенту! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 21:29 |
|
(php, cUrl). cURL не получает полную информацию с сервера.
|
|||
---|---|---|---|
#18+
zadov2008Вот этот-же кусок у cURL :Вот тот же кусок кода при просмотре в браузере по Ctrl+U Код: sql 1.
Чем он отличается от вашего курлового? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 21:41 |
|
(php, cUrl). cURL не получает полную информацию с сервера.
|
|||
---|---|---|---|
#18+
vkle, клиента за основу взял вот этого : Код: php 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.
дописывая его разными свойствами (нужными и не нужными). Пока url не победил :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 21:42 |
|
(php, cUrl). cURL не получает полную информацию с сервера.
|
|||
---|---|---|---|
#18+
vklezadov2008Вот этот-же кусок у cURL :Вот тот же кусок кода при просмотре в браузере по Ctrl+U Код: sql 1.
Чем он отличается от вашего курлового? Тем, что отсутствует Код: html 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 21:45 |
|
(php, cUrl). cURL не получает полную информацию с сервера.
|
|||
---|---|---|---|
#18+
zadov2008Пока url не победил :)И не победите. До тех пор, пока очень внимательно не изучите, как работает эта веб-страничка и какие меры приняты для защиты от скачивания ее фрагментов. Перечитайте предыдущую фразу очень внимательно, каждое слово там имеет значение. Защита есть, но не там, где Вы ее пытаетесть "обойти". zadov2008Тем, что отсутствуетМаксимум, что отсутствует - это переводы строки. Всё остальное - идентично. Читайте посты внимательно, а не по диагонали. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 21:53 |
|
(php, cUrl). cURL не получает полную информацию с сервера.
|
|||
---|---|---|---|
#18+
Данные там подгружает js-скрипт и вставляет данные в таблицу (см. скрин). В этом и защита, вернее в том, что скрипт подгружает данные в таблицу, только когда пользователь серфит страницу. (ни сохраняет, ни смотрит исходный код, ни лезет с помощью cUrl... а классически открыл браузером). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 22:21 |
|
(php, cUrl). cURL не получает полную информацию с сервера.
|
|||
---|---|---|---|
#18+
Мыслите в правильном направлении. Курл понятия не имеет о яваскрипте. Веб-браузер имеет и умеет выполнять яваскрипт, который принимает участие в формировании документа. zadov2008В этом и защитаНу, блин... Защита от Вас лично - наверно уже в этом месте начинается. Для остальных, кто интересуется в веб-технологиях, подгрузка фрагментов страницы отдельными частями - это довольно распространенная технология. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 22:54 |
|
(php, cUrl). cURL не получает полную информацию с сервера.
|
|||
---|---|---|---|
#18+
что ж... если у кого будут идеи по этой теме, пишите... js && cURL проблема распространённая и не такая простая - судя по нарытым темам в форумах. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 23:20 |
|
(php, cUrl). cURL не получает полную информацию с сервера.
|
|||
---|---|---|---|
#18+
zadov2008js && cURL проблема распространённаяНе ищите проблему там, где её нет. Курл в принципе не поддерживает яваскрипт. Соответственно, Вам либо следует вовсе отказаться от использования "только curl" и посмотреть в другую сторону. Либо, следует писать скрипты, которые будут эмулировать поведение веб-браузера в соответствии с действиями яваскриптов - как минимум, формировать дополнительные запросы к вебсерверу и собирать страницу воедино. В качестве альтернатив - попробуйте поискать консольный веб-браузер с поддержкой яваскрипта (js не все поддерживают) или обратите внимание на phantomjs или аналогичное ПО. Если тырилка контента на винде работать будет - можно IE задействовать, он легко управляется через COM (последние версии не пробовал, но раньше проблем не было). ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2018, 01:13 |
|
|
start [/forum/topic.php?fid=23&msg=39748470&tid=1460058]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
179ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 288ms |
0 / 0 |