使用opengraph和curl抓取新页面

问题描述 投票:0回答:1

我正在开发一个网站,我在其中创建了一个博客,人们可以在该博客上通过他们的 Facebook 发表评论。现在我注意到,每当我创建一个新博客时,评论插件都会显示警告“url 无法访问”。

我已经弄清楚摆脱这个警告的方法是抓取新博客。

如果我在命令行上使用以下查询:

curl -F "id=http://www.maartenvangenechten.be/blog/post/13/" -F "scrape=true" -k https://graph.facebook.com

警告消失了,但从长远来看这不是最好的方法。另外,我放入元标记中的所有数据都被输出,告诉我页面已成功抓取

所以我尝试使用 php/libcurl 来实现:

$params = array(
"id"=>$url,
"scrape"=>"true");

$ch = curl_init("https://graph.facebook.com");
curl_setopt_array($ch, array(
  CURLOPT_RETURNTRANSFER=>true,
  CURLOPT_SSL_VERIFYHOST=>false,
  CURLOPT_SSL_VERIFYPEER=>false,
  CURLOPT_POST=>true,
  CURLOPT_POSTFIELDS=>$params
));
$result = curl_exec($ch);
curl_close($ch);
echo $result;

现在仅输出:

{"id":"214022612077699","url":"http:\/\/www.maartenvangenechten.be\/blog\/post\/13\/"}

而不是

{"url":"http:\/\/www.maartenvangenechten.be\/","type":"website","title":"Maartens Homepage","image":[{"url":"http:\/\/www.maartenvangenechten.be\/images\/general\/logo_enlighten.gif"}],"description":"Hier kan je alles vinden over mijn huidige projecten. Bekijk ook zeker de blog, waar ik de verschillende uitdagingen die ik tegenkom zal toelichten","site_name":"VangenechtenDESIGNs","admins":[{"id":"591822147","name":"Maarten Van Genechten","url":"http:\/\/www.facebook.com\/exquisitje"}],"updated_time":"2013-02-22T02:27:18+0000","id":"492686967461912","application":{"id":"482576148470885","name":"MVGPortfolio","url":"http:\/\/www.facebook.com\/apps\/application.php?id=482576148470885"}}

如我所料

似乎找不到原因

facebook web-scraping curl
1个回答
1
投票

好的,解决了,在网上搜索了几个小时后......

我在不同的浏览器上尝试了该功能,Opera,Firefox,甚至IE都返回了预期的结果,只有Chrome给出了问题...

清除了缓存、历史记录以及通过 Chrome 存储的所有其他内容,问题就消失了。

© www.soinside.com 2019 - 2024. All rights reserved.