DuckDuckGoBridge.php 1008 B

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. class DuckDuckGoBridge extends BridgeAbstract{
  3. const MAINTAINER = "Astalaseven";
  4. const NAME = "DuckDuckGo";
  5. const URI = "https://duckduckgo.com/";
  6. const DESCRIPTION = "Returns most recent results from DuckDuckGo.";
  7. const PARAMETERS = array( array(
  8. 'u'=>array(
  9. 'name'=>'keyword',
  10. 'required'=>true)
  11. ));
  12. public function collectData(){
  13. $html = $this->getSimpleHTMLDOM(self::URI.'html/?q='.$this->getInput('u').'+sort:date')
  14. or $this->returnServerError('Could not request DuckDuckGo.');
  15. foreach($html->find('div.results_links') as $element) {
  16. $item = array();
  17. $item['uri'] = $element->find('a', 0)->href;
  18. $item['title'] = $element->find('a', 1)->innertext;
  19. $item['content'] = $element->find('div.snippet', 0)->plaintext;
  20. $this->items[] = $item;
  21. }
  22. }
  23. public function getCacheDuration(){
  24. return 21600; // 6 hours
  25. }
  26. }