【问题标题】:Using curl to update mysql when curl spits out jsoncurl吐出json时使用curl更新mysql
【发布时间】:2011-06-14 18:43:36
【问题描述】:

好吧,这是一个相当奇怪的问题(或者可能不是)

我正在尝试使用 curl 从 Twitter 中提取推文,这是命令

curl http://stream.twitter.com/1/statuses/filter.json?track=XXhashtagXX -XXuserXX:XXpassXX

每个地方都有一个 x,它是 twitter 用户名和密码等变量的位置,也是要查找的主题标签。

这是使用 twitter restful api,它会在每次进行更改时提醒您的脚本。

在控制台中,此 curl 命令运行良好,但现在我只需要获取输出并将其保存到我的 mysql 表中。

任何帮助将不胜感激。

【问题讨论】:

  • 你的困难在哪里?您的脚本无法读取输出文件,或者您不知道如何将内容插入数据库?
  • 请参阅PHP cURL 以获取 JSON 响应,json_decode 以解码为数组/对象,curl_setopt 用于身份验证(更具体地说是 CURLOPT_USERPWD),PDO 用于数据库插入。或者,如果您想要特定的答案,请显示一些代码。
  • 啊,是的,对不起,我对如何编写包含上述 curl 代码的脚本非常感兴趣。我知道 php,我知道 json_decode。但是你如何等待一个流然后在它回叫你时做出反应。因为目前我只知道如何将 curl 放入命令行并查看输出。

标签: php json curl twitter pycurl


【解决方案1】:

IRL 好友。这就是您非常想要的。

chmod a+x watch_twitter.sh ./watch_twitter.sh

sh watch_twitter.sh

watch_twitter.sh

#!/usr/bin/sh
nohup curl http://stream.twitter.com/1/statuses/filter.json?track=hashtag -uusername:password\!\! -o test.txt -N &
nohup php watch_test.php &
exit

watch_test.php

<?php
while(1){
        echo ".";
        $data = file_get_contents('test.txt');
        if($data){
                file_put_contents('test.txt',"");
                $dataarry = explode("\n",$data);
                foreach($dataarry as $data){
                        print_r(json_decode(trim($data)));
                }
                echo "FOUND SOMETHING!";
        }
        sleep(1);
}
print_r($data);
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 2011-03-31
    • 2022-07-21
    • 2015-09-30
    相关资源
    最近更新 更多