PHP和AJAX网址获取数据

时间:2018-08-20 22:51:33

标签: php ajax curl xmlhttprequest scrape

我在抓取URL时遇到问题,如果我使用Chrome的开发工具,则可以看到URL并预览内容,但是如果我打算从浏览器中打开URL,则找不到404。

这是带有AJAX数据的URL。我需要比较赔率: http://www.betexplorer.com/soccer/england/premier-league/wolves-manchester-city/Kz6hM15m/ 这是一个AJAX数据网址: www.betexplorer.com/gres/ajax/matchodds.php?p=0&e=Kz6hM15m&b=1x2该URL返回404在浏览器中找不到,但在节日URL中显示赔率。 是否可以从secondo网址获取数据?

谢谢。

1 个答案:

答案 0 :(得分:0)

快速检查您在问题中提到的网站后,我发现它在处理请求时正在检查引荐来源网址和用户代理。

添加带有值“ http://www.betexplorer.com/”的标头“ Referer”和一个随机的“浏览器状”用户代理,将产生具有所需赔率的json响应:)

例如:

<?php
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://www.betexplorer.com/gres/ajax/matchodds.php?p=0&e=Kz6hM15m&b=1x2"); 
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.12011-10-16 20:23:00");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_REFERER, "http://www.betexplorer.com/");
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
$output = curl_exec($ch); 
curl_close($ch);