使用PHP自动推特的微小URL


Tiny URL using PHP for auto-twitts

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

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

你看,它很长。。。

我知道以下服务:

  • tinyurl.com
  • goo.gl

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

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

你可以用这种方式。

  1. 对您的url进行编码
    使用urlencode
  2. 将您的编码url添加到
    $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

您可以查看Google API,但我不确定有多少容量。我可以为您推荐3种解决方案:

  1. 使用PHP在主机上创建短链接
  2. Twitter将如果您直接推特,请缩短您的URL。但是,你做不到使用自动过帐。因此,计算字符数(如message + URL <= 140)并将你的自动推文长度控制在140个字符以内
  3. 你也可以试试这个(查看PHP源代码示例

    函数压缩url($url){$ch=curl_init();curl_setopt($ch,CURLOPT_URL,"http://"."to.ly/api.php?longurl=".urlencode($URL));curl_setopt($ch,CURLOPT_RETURNTTRANSFER,1);curl_setopt($ch,CURLOPT_HEADER,0);$shorturl=curl_exec($ch);curl_close($ch);return$shorturl;}echo压缩机URL("http://twitter.com");//测试