使用PHP进行自动twitts的微小URL

时间:2013-12-14 04:01:53

标签: php twitter tinyurl

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

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

你觉得它很长......

我知道的服务如下:

  • tinyurl.com
  • goo.gl

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

2 个答案:

答案 0 :(得分: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包含缩短的网址
    $nodelist=$doc->getElementsByTagName('blockquote');
    $blockquote=$nodelist->item(1) // grabbing shorten url blockquote 0:first 1:second
  6. 现在抓住缩短网址:
    $shorten_url=$blockquote->$firstChild->NodeValue
  7. 随意使用。

    有关详细信息,请参阅tiny url page structure
    详细了解DOMDocument
    对于goo.gl,请阅读:https://developers.google.com/url-shortener

答案 1 :(得分:0)

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

  1. 使用PHP在主机上创建短链接。
  2. Twitter会 如果您推文 DIRECTLY ,请缩短您的网址。但是,你不能这样做 使用自动发布。所以,计算字符数(如message + URL <= 140) 并保持自动推文长度少于140个字符。
  3. 您也可以尝试this检查 PHP源代码示例

    function 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);
    
       return $shorturl;
    }
    echo CompressURL("http://twitter.com"); // Test