首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP curl抓取不能提供与浏览器中相同的HTML

PHP curl抓取不能提供与浏览器中相同的HTML
EN

Stack Overflow用户
提问于 2020-12-16 21:20:59
回答 1查看 147关注 0票数 0

我一直在尝试网络抓取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>。我已经尝试了下面的选项,但都没有效果。

代码语言:javascript
复制
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时的结果相同

EN

回答 1

Stack Overflow用户

发布于 2020-12-17 16:30:28

你确实错过了一次XHR。下面的代码将获得您想要的输出。

代码语言:javascript
复制
$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&section_data=');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['x-requested-with: XMLHttpRequest']);
curl_exec($ch);
curl_close($ch);

标头是必需的,如果没有标头,它将无法输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65324130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档