file_get_contents скрывает ip
Так что в основном я использую file_get_contents()
а также preg_match()
собирать информацию с веб-сайта.
Однако есть проблема.
Сначала я могу запустить программу много раз, но через некоторое время она перестает работать.
Зачем? Потому что сайт перенаправляет меня на одну из страниц спонсоров.
Я думаю, что это своего рода отказоустойчивый, что если определенный IP-адрес слишком часто обращается к их сайту за определенный промежуток времени (я обнаружил, может быть, 30-40 раз за несколько часов), поднимается флаг, который перенаправляет конкретный IP-адрес на другую страницу.
Затем мне придется подождать несколько часов, прежде чем я смогу получить доступ к реальной странице. Это плохо, потому что в определенный момент моя программа будет искать сотни страниц, что вызовет проблемы.
Вот сайт, который является сайтом скачек, эта страница просто одна страница профиля лошади из тысяч.
Мой вопрос:
Как мне анонимно получить содержимое файла или как-то обойти эту вещь, чтобы я мог идти столько раз, сколько захочу? Благодарю.
Ниже я приведу код, который, если вы решите, можете попробовать сами, чтобы увидеть, что происходит.
Это похоже на мой код, только я специально включил его в цикл, чтобы быстро тратить все "посещения".
Текстовый аспект этого запутан (он распечатает все, что не найдено), но после того, как вы его выполнили, посещение сайта в браузере вручную перенаправит вас:
function hm(){
for($x=0; $x=50; $x++){
$file = file_get_contents("http://www.turf-fr.com/fiche-cheval/MONTELUPO.html",false);
if(preg_match_all("/MONTELUPO/", $file, $matches, PREG_OFFSET_CAPTURE)==true){
print "Found ";
} else {
print " not found";
$x=51;
}
}
}
hm();
1 ответ
Вы не можете ничего с этим поделать, кроме как переключаться между публичными прокси через каждые 20-30 запросов. Так как веб-сервер проверяет IP-адреса пользователей, это не может быть исправлено со стороны клиента просто путем изменения кода.