- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想获取评论系统是 Disqus 的 CNN 上的所有评论。
例如,http://edition.cnn.com/2013/02/25/tech/innovation/google-glass-privacy-andrew-keen/index.html?hpt=hp_c1
评论系统需要我们点击“加载更多”才能看到更多评论。
我曾尝试使用 php 解析 html,但由于使用了 javascript,因此无法加载所有评论。
所以我想知道是否有人有更方便的方法来从特定的 cnn url 中检索所有评论。
有人成功过吗?
提前致谢
最佳答案
Disqus API 包含使用在 JSON 响应中返回的游标的分页方法。有关游标的信息,请参见此处:http://disqus.com/api/docs/cursors/
既然你提到了 PHP,这样的事情应该让你开始:
<?php
$apikey = '<your key here>'; // get keys at http://disqus.com/api/ — can be public or secret for this endpoint
$shortname = '<the disqus forum shortname>'; // defined in the var disqus_shortname = '...';
$thread = 'link:<URL of thread>'; // IMPORTANT the URL that you're viewing isn't necessarily the one stored with the thread of comments
//$thread = 'ident:<identifier of thread>'; Use this if 'link:' has no results. Defined in 'var disqus_identifier = '...';
$limit = '100'; // max is 100 for this endpoint. 25 is default
$endpoint = 'https://disqus.com/api/3.0/threads/listPosts.json?api_key='.$apikey.'&forum='.$shortname.'&limit='.$limit.'&cursor='.$cursor;
$j=0;
listcomments($endpoint,$cursor,$j);
function listcomments($endpoint,$cursor,$j) {
// Standard CURL
$session = curl_init($endpoint.$cursor);
curl_setopt($session, CURLOPT_RETURNTRANSFER, 1); // instead of just returning true on success, return the result on success
$data = curl_exec($session);
curl_close($session);
// Decode JSON data
$results = json_decode($data);
if ($results === NULL) die('Error parsing json');
// Comment response
$comments = $results->response;
// Cursor for pagination
$cursor = $results->cursor;
$i=0;
foreach ($comments as $comment) {
$name = $comment->author->name;
$comment = $comment->message;
$created = $comment->createdAt;
// Get more data...
echo "<p>".$name." wrote:<br/>";
echo $comment."<br/>";
echo $created."</p>";
$i++;
}
// cursor through until today
if ($i == 100) {
$cursor = $cursor->next;
$i = 0;
listcomments($endpoint,$cursor);
/* uncomment to only run $j number of iterations
$j++;
if ($j < 10) {
listcomments($endpoint,$cursor,$j);
}*/
}
}
?>
关于disqus - 如何从 Disqus 获取所有评论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15080258/
我想获取评论系统是 Disqus 的 CNN 上的所有评论。 例如,http://edition.cnn.com/2013/02/25/tech/innovation/google-glass-pri
如果其他人使用我的 disqus_shortname 会发生什么? 最佳答案 如果其他人在他们的网站上使用您注册的简称,他们的所有评论都会显示在您的审核面板中。 为避免这种情况,我们建议将您的域名添加
我从一个旧系统中收到了一堆评论,这些评论已成功导入到 disqus 中。现在我需要将它们连接到新系统中。这样做应该就像正确设置 disqus_identifier 一样简单。 这令人沮丧,因为评论在
我想显示所有使用 Disqus 的博客文章的 10 条最新评论,并将它们显示在侧边栏中,然后可以单击评论并转到原始帖子。 一个优点是能够从列表中删除我们自己的评论。 最佳答案 这是一个可以完成您的工作
我正在尝试使用 Disqus API 发布匿名评论,但没有成功。我正在使用具有以下设置的 Fiddler Composer: POST http://disqus.com/api/3.0/posts/
我按照说明 here ,但是,它没有任何效果。 你知道一些方法可以让评论者在他们的 DisQus 评论中使用 MathJax 吗? 最佳答案 非常same link给你答案:Disqus 现在使用 i
我想将我的 Gollum Wiki(使用 aws 和 github)用于图书项目。我想为每一章提供自己的页面,并让 friend 圈(以及任何人)留下评论。我原以为已经有十几个关于此问题的页面了。但我
我想在我的网站上将 SSO 与 Disqus 集成。 我已经设置了remote_auth_s3 和public_api_key。我可以在 threadDetails.json 查询 header 中看
我们目前的 Disqus 评论计数显示在我们主页上的每个帖子上 标签,我们看到这是由一些 javascript 更新的,它检测链接上是否存在#disqus_thread。 我们如何在标签外显示评论数?
我们目前在 内的主页上的每个帖子上都显示了我们的 Disqus 评论计数。标签,我们看到这是由一些 javascript 更新的,它检测链接上是否存在 #disqus_thread。 但是,我们如何
我已更新到 Disqus 2012,我的 CSS 覆盖不再有效,因为 Disqus 现在已加载到 iframe 中。 但是,我可以在 Disqus 线程加载后使用检查器覆盖 CSS,所以我想知道是否可
我打算在门户中使用DISQUS注释。 它通过FB,TWEETER,WOrdpress和DISQUS登录提供评论。我希望我的用户也可以发布评论,如果他们登录我的网站而不是上面的所有评论。 有可能这样做吗
在我的网站上,相同的 Disqus 线程出现在所有页面上。 我试过: var currentPageId = '/testo'; window.disqus_shortname = 'stre
我知道这似乎是一个简单的问题,但我发现没有简单的方法可以获取 ajax 页面中给定 disqus 标识符的评论计数。 我查看了他们的API,这是一个选项,但我们正在为最终用户构建一个基于ajax cm
无论我做什么,我都无法让 disqus 在开发模式下工作。 disqus账号是新的,里面没有内容。 在我的网站标题中,我有 var disqus_developer = 1; var disqus_
Disqus在网站博客上的评论似乎越来越受欢迎。与Facebook,Twitter等人的集成非常出色,这令人印象深刻。 对于那些熟悉Disqus及其API的人,是否有可能创建一个论坛/讨论组,使访问者
我想使用通用代码,但在完成最基本的功能时遇到了困难。 我想为测试创建一个简称,并为我的部署创建一个简称,这是我在 Disqus 管理面板中创建的。 这是我的显示操作中的 disqus 代码: # in
我已在我的 Wordpress 网站上加载了 Disquss,该网站在 HTTPS 上运行。问题在于,虽然评论显示在网页底部,但它们是白色的(并且由于页面的背景也是白色的,所以它们不可见)。 如果我在
我正在使用 Octopress,它使用 Disqus 进行评论。我最近从浅色方案切换到深色方案。令我惊喜的是,Disqus 设法改变了它的配色方案以融入新主题。 Disqus 如何做到这一点? 最佳答
有人成功地让 DISQUS.reset 函数适用于嵌入式线程吗?每次我尝试运行 DISQUS.reset 时,它都会说该函数未定义。在调用重置之前,我确保 javascript 文件已加载。 知道发生
我是一名优秀的程序员,十分优秀!