|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
||||||
Бан при попытке получить страницу через Curl03.10.2014, 13:11. Показов 9311. Ответов 8
Метки нет (Все метки)
Всем доброго времени суток. Прошу помочь разобраться с проблемкой, ситуация такая: стоит задача парсинга сайта - http://elibrary.ru. Чтобы скачать с сайта страницу использую curl. Опции курла такие:
В общем, я в полном замешательстве, не понимаю в чём может быть проблема. Не знаю, нужная ли это информация, но всё же: я сижу через mac, другой человек через windows, провайдеры разные. Проект один и тот-же. Все файлы одинаковые Подскажите, где искать проблему....
0
|
||||||
| 03.10.2014, 13:11 | |
|
Ответы с готовыми решениями:
8
Сервер не может получить страницу (Curl, file_get_contents.) Сервер не может получить страницу (Curl, file_get_contents) Авторизация с curl работает, как получить страницу в переменную? |
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
||
| 03.10.2014, 20:58 | ||
|
Я подозреваю что его сайт создан для того чтобы его смотрели браузерами, а не через "парсеры". Он эти блокировки по IP, может быть, как раз от таких парсеров и ввел. А Вы сейчас просите помочь Вам обойти их?.. Как то это неправильно. А он потом рядышком создаст топик, в котором скажет что его сайт выкачивают через парсеры, помогите защитить сайт.. весело
0
|
||
|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
||||
| 04.10.2014, 05:55 [ТС] | ||||
|
С этого сайта формируется рейтинг ВУЗОВ и каждый универ мониторит своих преподов, в том числе и мой ВУЗ. Сейчас вся информация просматривается вручную, а это очень долгий и муторный процесс, так вот моя задача автоматизировать процесс сбора этой информации, никуда она в дальнейшем не выкладывается. Не надо параноить. Добавлено через 3 минуты И к тому же, если у него есть какие-то "блокировки парсеров" по вашему, тогда почему-же у меня всё ок? при чём я довольно часто тестирую скрипт и меня никто не блокирует
0
|
||||
|
156 / 119 / 59
Регистрация: 27.04.2013
Сообщений: 351
|
||
| 05.10.2014, 06:39 | ||
|
1
|
||
|
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
|
||||||
| 05.10.2014, 15:59 | ||||||
|
dalay_lama, заполните CURLOPT_USERAGENT чтобы походить на браузер и наверно можно удалить работу с кукисами
1
|
||||||
|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
|
| 05.10.2014, 16:19 [ТС] | |
|
большое спасибо за идею, к сожалению сейчас нет возможности проверить поможет или нет, т.к. человека уже заблокировали и он не может никак через свой ком зайти на этот сайт, даже просто просматривая браузером. Завтра будем разговаривать с преподом, может через тех-поддержку как-то получится договориться что-бы разбаняли.
И ещё такой нюанс есть, пробовали раздать мобильный интернет на комп, при попытке зайти на сайт всё таже картина была. А если просто с мобильника зайти на этот сайт, то всё хорошо.В чём прикол может быть? Куки, кеш и т.д. само собой пробовали чистить...
0
|
|
|
15 / 8 / 6
Регистрация: 12.03.2014
Сообщений: 22
|
|
| 06.10.2014, 15:45 | |
Сообщение было отмечено dalay_lama как решение
Решение
Любой сервер использующий TCP/IP протокол при подключении клиента знает о нем только 2 вещи это IP и порт, куда он собственно и пытается слать ответы.
Причем эти данные можно передать любые при попытке установить соединение, беда вся лишь в том что в таком случае соединение даже не будет установлено, так как сервер не сможет выполнить трех этапное рукопожатие TCP (сегмент ACK улетит по левому IP адресу), собственно на этом и построенные атаки на тему SYN флуда. Так вот, если соединение таки установлено, сервер знает лишь ваш IP и порт, все, больше никаких данных TCP по умолчанию не передает. Далее браузер формирует HTTP запрос, и используя простые системные вызовы write() и read() собственно работает с соединением передавая туда этот запрос, который из себя представляет ничто иное как простую строчку определенного протоколом формата, куда можно записать все что хочется или не писать вообще ничего кроме того минимума что требует протокол ![]() Так вот к чему все это, к тому что сервер о вас будет знать только то что вы ему передаете в HTTP запросе (если конечно PHP не вмешается и в принудительном порядке не изменит HTTP запрос по какой либо причине). Таким образом, вы можете выглядеть для сервера кем угодно с любым браузером и любым софтом, хоть браузером хоть ботом Яндекса и Гугла, далее все зависит лишь от настроек сервера и того как софт будет интерпретировать полученную информацию. Если система против автоматического сбора информации, то применяются разные алгоритмы вычисления "ботов", например скорость запроса разных страниц, согласитесь человек с трудом запросит 30 страниц в секунду ![]() И так далее и тому подобное, аналитические программы порой весьма сложные. Правда умные админы как правило не банят за это а делают умнее, ведь софт может и ошибиться. В частности Яндекс делает так, если он подозревает запросы как автоматические в обход их API (а они очень против этого) то он выдает страницу где простит ввести некий текст с картинки, типа мы вас подозреваем, давайте проверим человек вы или нет (обычная защите от ботов в случае подозрения их аналитической системы) ![]() И того, можете попробовать следующим образом. С того ПК или Мобильника с которого сервер выдает вам страницу, зайдите на собственную страницу, где PHP просто выдаст вам весь HTTP запрос, просто создайте "копию" этого запроса и отправьте его из вашего скрипта, сервер примет вас за мобильного пользователя. Один нюанс, если софт будет проверять IP на принадлежность к IP операторов мобильной связи то тут будет ОЙ ![]() Итого, TCP/IP протокол сам по себе ничего не передает серверу кроме IP и порта, все остальное серверу передает браузер в виде простой строки текста которая составлена согласно стандарту, вписывайте в эту строку (запрос) что пожелаете не нарушая стандарт и сервер будет думать что вы тот кем вы хотите быть (но с серьезными серверами это может не прокатить, там ребята уже давно учатся отделять людей от ботов и тд и тп)
1
|
|
|
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
|
|
| 06.10.2014, 21:47 | |
|
афигенская статья. блин, вода... нах
0
|
|
|
82 / 82 / 50
Регистрация: 22.09.2012
Сообщений: 495
|
|
| 07.10.2014, 01:36 [ТС] | |
|
NR55RU, большое спасибо, за такой развёрнутый ответ, я много нового для себя узнал)
сосбтно....через раздачу интернета с мобильника мы уже разобрались, но сама проблема остаётся, почему забанили? и как избежать? Я вчера разговаривал с руководителем диплома, он тоже был удивлён, собстно начало текущего скрипта я у него брал, и когда он тестировал его, у него тоже никаких проблем не возникало, хотя тестил он не мало. Но наверное стоит отметить, что он работал через прокси(причину не помню, но не бан точно).
0
|
|
| 07.10.2014, 01:36 | |
|
Помогаю со студенческими работами здесь
9
Как считать страницу через curl? Получить value из input hidden через CURL CURL - при переходе по ссылке зеркала редиректит на внешнюю страницу или 404 CURL работает при подаче запроса на локальный сервер, но при подаче запроса во вне выдает пустую страницу Wininet, ошибка 12157 при попытке получить веб страницу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|