所以基本上我使用file_get_contents()
和preg_match()
从网站上获取信息。
我最初可以多次运行该程序,但过了一段时间它就会停止工作。
为什么呢?因为该网站将我重定向到其赞助商页面之一。
我认为这是某种失败的安全措施,如果某个IP地址在一定时间内过于频繁地访问他们的网站(我在几小时内发现可能会有30-40次),那么这个标志就会上升它将特定的ip重定向到另一个页面。
然后我必须等几个小时才能访问实际页面。这很糟糕,因为在某个时刻我的程序将会搜索数百页,这会导致问题。
以下是site,这是一个赛马场地,该页面只是成千上万的马配置文件页面。
我的问题是:
如何以匿名方式获取文件内容或以某种方式绕过此内容,以便我可以随心所欲地多次访问?谢谢。
下面我将提供一些代码,如果您这样选择,您可以尝试自己看看会发生什么。
它类似于我的代码,只是我故意将它放在循环中以浪费所有的访问"很快。
它的文本方面是混乱的(它会打印所有未找到的)但是一旦你执行了它,在浏览器中手动访问网站现在会重定向你:
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();
答案 0 :(得分:1)
除了每20-30个请求在公共代理之间切换之外,您不能做太多其他事情。由于Web服务器验证用户IP,因此只能通过代码更改从客户端修复此问题。