PHP 和 AJAX url 获取数据 [已关闭]

问题描述 投票:0回答:1

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

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

谢谢你。

php ajax web-scraping curl xmlhttprequest
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.