【问题标题】:Fetching external website meta tags vs fb debugger获取外部网站元标记与 fb 调试器
【发布时间】:2019-01-18 13:37:39
【问题描述】:

我正在尝试检索外部网站的元标记。

在查看源代码中,我看不到这些标签,获得它们的唯一方法是检查元素。但是,如果我使用 facebook 调试器调试 url,所有元标记都在那里。

我正在努力寻找一种将这些标签作为 php 变量获取的方法。

网址:https://play.anghami.com/song/45345900 FB Scraper 怎么看:https://developers.facebook.com/tools/debug/echo/?q=https%3A%2F%2Fplay.anghami.com%2Fsong%2F45345900

【问题讨论】:

  • 你想获得 元标题?
  • 该页面可能只是根据请求的用户代理返回不同的内容,因此请尝试让您的请求发送与 Facebook 相同的请求。 developers.facebook.com/docs/plugins/faqs#faq_1748179212062572
  • 我想获得一些类似于 Facebook 刮板所获得的元标签:
  • 我尝试更改 User-Agent 但这没有帮助: header('User-Agent: facebookexternalhit/1.1'); $html = file_get_contents('play.anghami.com/song/45345900'); echo show_source($html);

标签: php facebook-opengraph


【解决方案1】:

你可以试试这段代码,这段代码拉取了整个网页,但是你可以按照你喜欢的方式优化它。

 $ch = curl_init(); 
 curl_setopt($ch, CURLOPT_HTTPHEADER,array('Content-Type: text/plain'));
 curl_setopt($ch, CURLOPT_URL, 'https://play.anghami.com/song/45345900'); 
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
 $output = curl_exec($ch); 
 curl_close($ch);  
 header('Content-Type: text/plain');
 echo $output;
 exit;

【讨论】:

  • 在查看源代码中,我看不到这些标签,获得它们的唯一方法是检查元素。您的代码正在获取没有元数据的源代码。
  • 我想得到这里显示的内容:developers.facebook.com/tools/debug/echo/…
  • @TonyAS 我打印了 $_SERVER 的值并尝试使用 curl 添加它,让我们看看或者我们可以尝试执行
  • 谢谢,非常感谢您的努力。如果你弄明白了,请告诉我。
  • 成功了吗?
猜你喜欢
  • 2021-10-30
  • 2021-10-06
  • 1970-01-01
  • 2013-08-18
  • 2013-04-21
  • 2012-07-02
  • 1970-01-01
  • 2020-08-25
  • 1970-01-01
相关资源
最近更新 更多