From 4aa9600d5f1b1afe59b7503b6db1a0aa1e032272 Mon Sep 17 00:00:00 2001
From: Dominik Pfennig <dominik@suma-ev.de>
Date: Wed, 15 Jun 2016 15:31:40 +0200
Subject: [PATCH] =?UTF-8?q?Einige=20fehlende=20Suchmaschinen=20hinzugef?=
 =?UTF-8?q?=C3=BCgt?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/Models/parserSkripte/Beammachine.php | 45 +++++++++++++++++
 app/Models/parserSkripte/Dart.php        | 63 ++++++++++++++++++++++++
 app/Models/parserSkripte/Goyax.php       | 27 +++++-----
 app/Models/parserSkripte/Loklak.php      | 43 ++++++++++++++++
 4 files changed, 162 insertions(+), 16 deletions(-)
 create mode 100644 app/Models/parserSkripte/Beammachine.php
 create mode 100644 app/Models/parserSkripte/Dart.php
 create mode 100644 app/Models/parserSkripte/Loklak.php

diff --git a/app/Models/parserSkripte/Beammachine.php b/app/Models/parserSkripte/Beammachine.php
new file mode 100644
index 000000000..102f08061
--- /dev/null
+++ b/app/Models/parserSkripte/Beammachine.php
@@ -0,0 +1,45 @@
+<?php
+
+namespace app\Models\parserSkripte;
+use App\Models\Searchengine;
+
+class Beammachine extends Searchengine 
+{
+	public $results = [];
+
+	function __construct (\SimpleXMLElement $engine,  \App\MetaGer $metager)
+	{
+		parent::__construct($engine, $metager);
+	}
+
+	public function loadResults ($result)
+	{
+		$results = trim($result);
+		
+		foreach( explode("\n", $results) as $result )
+		{
+			$res = explode("|", $result);
+			if(sizeof($res) < 3)
+			{
+				continue;
+			}
+			$title = $res[0];
+			$link = $res[1];
+			$anzeigeLink = $link;
+			$descr = $res[2];
+
+			$this->counter++;
+			$this->results[] = new \App\Models\Result(
+				$this->engine,
+				$title,
+				$link,
+				$anzeigeLink,
+				$descr,
+				$this->gefVon,
+				$this->counter
+			);		
+		}
+
+		
+	}
+}
diff --git a/app/Models/parserSkripte/Dart.php b/app/Models/parserSkripte/Dart.php
new file mode 100644
index 000000000..1d0674aa5
--- /dev/null
+++ b/app/Models/parserSkripte/Dart.php
@@ -0,0 +1,63 @@
+<?php
+
+namespace app\Models\parserSkripte;
+use App\Models\Searchengine;
+use Symfony\Component\DomCrawler\Crawler;
+
+class Dart extends Searchengine 
+{
+	public $results = [];
+
+	function __construct (\SimpleXMLElement $engine, \App\MetaGer $metager)
+	{
+		parent::__construct($engine, $metager);
+	}
+
+	public function loadResults ($result)
+	{
+		
+		$crawler = new Crawler($result);
+		$crawler->filter('table#search-results > tr > td')->each(function (Crawler $node, $i)
+		{
+			$i = $i - ( 6 * $this->counter);
+			if($i === 0)
+				return;
+			if($i === 1)
+			{
+				$this->description = $node->text();
+				$this->link = "http://www.dart-europe.eu/" . $node->filter('a')->attr('href');
+			}
+			if($i === 2)
+				$this->title = $node->text();
+			if($i === 3)
+				$this->title .= " (" . $node->text() . ")";
+			if($i === 4)
+				$this->title .= " " . $node->text();
+			if($i === 5)
+			{
+				$this->title .= "|" . $node->text();
+				$title = $this->title;
+	                        $this->title = "";
+        	                $link = $this->link; 
+                	        $this->link = "";
+                        	$anzeigeLink = $link;
+	                        $descr = $this->description;
+        	                $this->description = "";
+
+	                        $this->counter++;
+        	                $this->results[] = new \App\Models\Result(
+                	                $this->engine,
+                        	        $title,
+                                	$link,
+	                                $anzeigeLink,
+        	                        $descr,
+                	                $this->gefVon,
+                        	        $this->counter
+	                        );
+			}
+		} );
+
+
+		
+	}
+}
diff --git a/app/Models/parserSkripte/Goyax.php b/app/Models/parserSkripte/Goyax.php
index d93ccdbcd..ccade3a7e 100644
--- a/app/Models/parserSkripte/Goyax.php
+++ b/app/Models/parserSkripte/Goyax.php
@@ -2,33 +2,27 @@
 
 namespace app\Models\parserSkripte;
 use App\Models\Searchengine;
+use Symfony\Component\DomCrawler\Crawler;
 
 class Goyax extends Searchengine 
 {
 	public $results = [];
 
-	function __construct (\SimpleXMLElement $engine,  \App\MetaGer $metager)
+	function __construct (\SimpleXMLElement $engine, \App\MetaGer $metager)
 	{
 		parent::__construct($engine, $metager);
 	}
 
 	public function loadResults ($result)
 	{
-		die($result);
-		$results = trim($result);
 		
-		foreach( explode("\n", $results) as $result )
+		$crawler = new Crawler($result);
+		$crawler->filter('tr.treffer')->each(function (Crawler $node, $i)
 		{
-
-			$res = explode("|", $result);
-			if(sizeof($res) < 3)
-			{
-				continue;
-			}
-			$title = $res[0];
-			$link = $res[2];
+			$title = $node->filter('td.name')->text();
+			$link = "http://www.goyax.de" . $node->filter('td.name > a')->attr('href');
 			$anzeigeLink = $link;
-			$descr = $res[1];
+			$descr = "Aktie: " . $node->filter('td.waehrung')->text() . " " . $node->filter('td.isin')->text();
 
 			$this->counter++;
 			$this->results[] = new \App\Models\Result(
@@ -39,9 +33,10 @@ class Goyax extends Searchengine
 				$descr,
 				$this->gefVon,
 				$this->counter
-			);		
-		}
+			);
+		} );
+
 
 		
 	}
-}
\ No newline at end of file
+}
diff --git a/app/Models/parserSkripte/Loklak.php b/app/Models/parserSkripte/Loklak.php
new file mode 100644
index 000000000..b0aea9ac1
--- /dev/null
+++ b/app/Models/parserSkripte/Loklak.php
@@ -0,0 +1,43 @@
+<?php
+
+namespace app\Models\parserSkripte;
+use App\Models\Searchengine;
+use Log;
+
+class Loklak extends Searchengine 
+{
+	public $results = [];
+
+	function __construct (\SimpleXMLElement $engine, \App\MetaGer $metager)
+	{
+		parent::__construct($engine, $metager);
+	}
+
+	public function loadResults ($result)
+	{
+		if(!$result)
+		{
+			return;
+		}
+		$results = json_decode($result, true);
+		if( !isset($results['statuses']) )
+			return;
+		foreach($results['statuses'] as $result)
+		{
+			$title = $result["screen_name"];
+			$link = $result['link'];
+			$anzeigeLink = $link;
+			$descr = $result["text"];
+			$this->counter++;
+			$this->results[] = new \App\Models\Result(
+				$this->engine,
+				$title,
+				$link,
+				$anzeigeLink,
+				$descr,
+				$this->gefVon,
+				$this->counter
+			);
+		}
+	}
+}
-- 
GitLab