0

我正在尝试使用 PHP 在 Twitter 上实现自动发布。

但是由于 twitt 的字符限制,我想知道如何使用 tinyURL,而不是放置完整的链接,例如http://www.appdropp.com/ios/stone-age-the-board-game/564247778

你看它很长...

我知道以下服务:

  • tinyurl.com
  • 谷歌.gl

但是我怎样才能批量使用这些服务,每天用 PHP 生成数百个链接呢?

4

2 回答 2

1

请注意, 此方法取决于 TinyURL 页面结构,该结构可能会在不久的将来发生更改,并且不要大量使用它或者向他们询问 API ?

你可以使用这种方式。

  1. 编码你的网址。
    使用urlencode
  2. 将您的编码网址添加到
    $url='http://tinyurl.com/create.php?source=indexpage&url=<encoded url>
  3. 创建一个dom对象
    $doc=new DomDocuement();
  4. 加载页面。
    $doc->loadHTMLFile($url); // this is page containing shorten url
  5. 抓取包含shorten url..第二个blockquote包含缩短 url的节点
    $nodelist=$doc->getElementsByTagName('blockquote');
    $blockquote=$nodelist->item(1) // grabbing shorten url blockquote 0:first 1:second
  6. 现在抓取缩短网址:
    $shorten_url=$blockquote->$firstChild->NodeValue
  7. 使用任何你喜欢的地方。

    有关更多信息,请参阅微小的 url 页面结构
    阅读有关DOMDocument
    的更多信息 对于 goo.gl,请阅读:https ://developers.google.com/url-shortener

于 2013-12-14T04:33:47.363 回答
0

您可以检查 Google API,但我不确定是否有这么多。我可以为您推荐 3 个解决方案:

  1. 使用 PHP 在您的主机上创建短链接。
  2. 如果您直接发推文,Twitter 将为您缩短 URL 。但是,您不能使用自动发布来做到这一点。因此,计算字符(如message + URL <= 140)并保持您的自动推文长度小于 140 个字符。
  3. 你也可以试试这个检查 PHP 源代码示例

    函数 CompressURL($url) {
       $ch = curl_init();
       curl_setopt($ch, CURLOPT_URL, "http://"."to.ly/api.php?longurl=".urlencode($url));
       curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
       curl_setopt($ch, CURLOPT_HEADER, 0);
    
       $shorturl = curl_exec ($ch);
       curl_close ($ch);
    
       返回 $shorturl;
    }
    echo CompressURL("http://twitter.com"); // 测试
    
于 2013-12-26T02:03:52.217 回答