gpt4 book ai didi

php - 使用 file_get_contents() 进行抓取时强制使用桌面版网站

转载 作者:可可西里 更新时间:2023-10-31 23:45:27 30 4
gpt4 key购买 nike

我正在使用 FriendsOfPHP/Goutte 包抓取网站。一切都很好。当用户将 URL 粘贴到输入中时,我正在为 imagetitle 等开放图形标签抓取网站。

当用户从移动设备复制 URL 时会出现问题,该 URL 现在是移动 URL,例如 https://m.datpiff.com/tape/818948 ,并且该 URL 上没有开放图标签。

当我访问相同的 URL 并将子域 m 替换为 www 时,例如https://www.datpiff.com/tape/818948从桌面,它将我重定向到:http://www.datpiff.com/Chance-The-Rapper-Jeremih-Merry-Christmas-Lil-Mama-mixtape.818948.html .

并且此桌面版 URL 确实包含开放图标签。

有没有办法让我的服务器强制或欺骗接收服务器将所有 URL 重定向到桌面版本,以便我可以使用开放图形标签?接收服务器已经重定向到正确的 URL,但前提是我直接从桌面上的浏览器输入。

这是我正在使用的代码 - 它运行良好。我只需要能够将我正在抓取的 URL 重定向到桌面版本。

首先我在我的 js 中将 m 替换为 www:

fullurl.replace('m.',"www");

转换https://m.datpiff.com/tape/818948进入https://www.datpiff.com/tape/818948

然后在我的 PHP 代码中我使用了这样的东西:

$url_to_scrape = $urltoscrape;
$client = new Client();

// Go to the example.com website
$crawler = $client->request('GET', $url_to_scrape);


$opengraphImage =$crawler->filterXpath('//meta[@property="og:image"]')->attr('content');
$title = $crawler->filter('title')->text();

最佳答案

您需要传递 cookie 以将您重定向到桌面版:

name    value      domain          path
mredir 0 .www.datpiff.com /

奇怪的是,如果你把m.与万维网。不起作用。也尝试添加桌面用户代理。

关于php - 使用 file_get_contents() 进行抓取时强制使用桌面版网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41324502/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com