我一直在尝试网络抓取https://www.worldpadeltour.com/en/tournaments/cupra-vigo-open-2020/2020/?tab=results,但用普通的抓取或cUrl,我最终会出现在锦标赛的常规信息标签上。结果选项卡没有加载到curl中,但是在浏览器中,我用上面的url打开了结果选项卡。
我已经尝试了所有这些方法,都得到了相同的结果,我也寻找了XHR请求,但我没有找到任何请求。例如,我想在我的已执行curl变量中使用<span>6-0 / 7-6(5) </span>。我已经尝试了下面的选项,但都没有效果。
CURLOPT_USERAGENT (with Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36)
CURLOPT_FOLLOWLOCATION
CURLOPT_COOKIESESSION, TRUE
CURLOPT_POSTFIELDS, 'tab=results'
CURLOPT_RETURNTRANSFER
CURLOPT_SSL_VERIFYHOST, FALSE);
CURLOPT_SSL_VERIFYPEER`我真正想要的是变量选项卡中的分数,这样我就可以抓取名称和结果。我得到的结果与只使用file_get_contents时的结果相同
发布于 2020-12-17 16:30:28
你确实错过了一次XHR。下面的代码将获得您想要的输出。
$ch = curl_init('https://www.worldpadeltour.com/info-torneos/cupra-vigo-open-2020/2020/');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'lang=en&selected_tab=results§ion_data=');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['x-requested-with: XMLHttpRequest']);
curl_exec($ch);
curl_close($ch);标头是必需的,如果没有标头,它将无法输出。
https://stackoverflow.com/questions/65324130
复制相似问题