我在抓取 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 显示赔率 。 可以从第二个网址获取数据吗?
谢谢你。
快速检查您在问题中提到的网站后,我发现它在处理请求时正在检查引用者和用户代理。
添加值为“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);