Xampp und TubeKit-crawler

Alles, was PHP betrifft, kann hier besprochen werden.

Xampp und TubeKit-crawler

Postby Dromedarvid » 20. May 2015 14:09

Hallo Gemeinde,

nutze seit kurzem Xampp um mit Tubekit, einem Youtube-Crawler, Videoinformationen zu sammeln und auszuwerten.

Habe alles soweit erfolgreich installiert und kann auch über localhost/TubeKit im Browser auf das Setup des Crawlers zugreifen und so die database erschaffen und den Speicherort für den Crawler definieren.
Zuvor musste ich einen Ordner anlegen und diesen mit vollen Zugriffsrechten austatten, hier: E:\xampp\htdocs\TubeKit\Berlin
mittels: c:\windows\system32\icacls \Tubekit /grant Jeder:F /T /C

Wenn ich dann run Setup drücke sieht es folgendermaßen aus:


Code: Select all
    Configuration parameters stored in 'config.php'.
    Success in database creation.

    Notice: Undefined index: date in E:\Xampp\htdocs\TubeKit\runsetup.php on line 109

    Notice: Undefined index: date in E:\Xampp\htdocs\TubeKit\runsetup.php on line 118

    Notice: Undefined index: comments in E:\Xampp\htdocs\TubeKit\runsetup.php on line 318

    Notice: Undefined index: comments in E:\Xampp\htdocs\TubeKit\runsetup.php on line 327
    Table for queries created.
    Table for storing crawl-once data created.
    Table for storing crawl-always data created.

    Notice: Undefined index: amo in E:\Xampp\htdocs\TubeKit\runsetup.php on line 428

    Notice: Undefined index: adm in E:\Xampp\htdocs\TubeKit\runsetup.php on line 429

    Notice: Undefined index: adm in E:\Xampp\htdocs\TubeKit\runsetup.php on line 430

    Notice: Undefined index: aho in E:\Xampp\htdocs\TubeKit\runsetup.php on line 431

    Notice: Undefined index: ami in E:\Xampp\htdocs\TubeKit\runsetup.php on line 432
    Cron job file 'cron' created.
    Crawler is ready in E:\xampp\htdocs\TubeKit\Berlin.


Die Mitteilungen habe ich ignoriert. Anschließend erreicht man über localhost/TubeKit/Berlin den Crawler um ihm dann queries zuweisen zu können anhand derer er dann Infos sammelt.

Wenn ich dann aber auf den Crawler zugreifen möchte, fehlen sämtliche .php files die den Crawler einbinden, ganz anders als im Tutorial, welche dort automatisch ihren Weg in seinen Ordner finden. Es existieren dann nur die config und die cron Datei, welche im Browser dargestellt werden.
Nebenbei: Es existiert ein Ordner parallel zu meinem, Namens Crawler, wieso holt er sich die php files nicht von dort?

Denn wenn ich sie manuell kopiere entsteht die Oberfläche für den Crawler und ich kann auch queries eingeben.

Entschuldigt bitte meine ausschweifende Doku, aber damit komme ich zu meiner Frage:

Über die Konsole lass ich mir die cron file anzeigen(type cron) und Tippe daraus:

Code: Select all
php E:\Xampp\htdocs\TubeKit\Berlin/collectOnce.php


..Wie im Tutorial, um die erste Suche direkt zu starten. Bekomme aber folgende Ausgabe:
Code: Select all
Warning: require_once(tools/magpierss-0.72/rss_fetch.inc): failed to open stream:
No such file or directory in E:\Xampp\htdocs\TubeKit\Berlin\collectOnce.php on line 8

Fatal error: require_once(): Failed opening required ´tools/magpierss-0.72/rss_fetch.inc´ (include_path=´.;E:\Xampp\php\PEAR´) in E:\Xampp\htdocs\TubeKit\Berlin\collectOnce.php on line 8


In dieser Zeile steht im Dokument collectOnce:
Code: Select all
require_once("$mpdirectory/rss_fetch.inc");

In einem ersten Versuch habe ich sie durch folgendes ersetzt, ohne Erfolg :cry: :
Code: Select all
define('MAGPIE_DIR', 'tools\magpierss-0.72');
require_once(MAGPIE_DIR.'rss_fetch.inc');


Kann mir jemand helfen es zum laufen zu bekommen?
Dromedarvid
 
Posts: 4
Joined: 20. May 2015 11:51
Operating System: Win7 Home Premium 64

Re: Xampp und TubeKit-crawler

Postby Nobbie » 20. May 2015 14:27

Dromedarvid wrote:Kann mir jemand helfen es zum laufen zu bekommen?


Das sind alles ganz spezifische Fehler von Tubekit, das hat weder mit Xampp noch mit PHP zu tun, da stimmt alles mögliche nicht, wenn überhaupt, wird so etwas in einem Tubekit Forum zu erfahren sein.

P.S.: Ich habe mir das mal heruntergeladen und installiert - da steht in der Documentation aber folgendes:

has been tested on Linux and Mac and it should work fine with any other UNIX-based system


Da steht nichts von WIndows....
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Xampp und TubeKit-crawler

Postby Dromedarvid » 21. May 2015 08:40

Hallo und Danke vorab Nobbie,

Das sind alles ganz spezifische Fehler von Tubekit, das hat weder mit Xampp noch mit PHP zu tun, da stimmt alles mögliche nicht, wenn überhaupt, wird so etwas in einem Tubekit Forum zu erfahren sein.

Leider habe ich kein Forum gefunden welches sich spezifisch oder sich auch nur entfernt mit TubeKit befasst.

has been tested on Linux and Mac and it should work fine with any other UNIX-based system


Damit hat sich das wohl erledigt.

Ich mach mich mal auf die Suche nach einer möglichst einfachen Alternative für Windows oder ich setzte mir Linux auf.

Danke nochmal.
Dromedarvid
 
Posts: 4
Joined: 20. May 2015 11:51
Operating System: Win7 Home Premium 64

Re: Xampp und TubeKit-crawler

Postby Nobbie » 21. May 2015 10:26

Dromedarvid wrote:oder ich setzte mir Linux auf.


Das wäre meine Empfehlung, meistens läuft das da automatisch besser. Ich habe das TubeKit installiert, habe aber noch nix gemacht, weil ich nicht weiß, was das genau tut.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Xampp und TubeKit-crawler

Postby Dromedarvid » 26. May 2015 12:11

Nobbie wrote:
Ich habe das TubeKit installiert, habe aber noch nix gemacht, weil ich nicht weiß, was das genau tut.


TubeKit ist ein Crawler, welcher sich der Youtube eigenen API bedient um Content-Informationen, basierend auf Suchanfragen über Zeit, zu beschaffen. Andauernde Änderungen im Interfacevon Youtube erschweren für typische Crawler die Suche nach speziellen Informationen.



Nobbie wrote:
Dromedarvid wrote:oder ich setzte mir Linux auf.


Das wäre meine Empfehlung, meistens läuft das da automatisch besser.


Leider doch nicht. :x Oder nur zum Teil.

Beim Auführen der php file über das Terminal
Code: Select all
 php /opt/lampp/htdocs/TubeKit/Berlin/collectOnce.php

Folgende Warnung:
Code: Select all
PHP Warning: mysql_connect(): Can´t connect to local MySQL server through socket 'var/run/mysqld/mysqld.sock' (2) in  /opt/lampp/htdocs/TubeKit/Berlin/config.php on line 2
Cannot connect the database: Can't connect to local MySQL server through socket 'var/run/mysqld/mysqld.sock'   


Dies ist die besagte Übeltäter-Datei:

Code: Select all
<?php
 $dbh = mysql_connect('localhost','root','') or die('Cannot connect to the database: '. mysql_error());
 $db_selected = mysql_select_db('berlin') or die ('Cannot connect to the database: ' . mysql_error());
$project="InformationCityBerlin";
$prefix="ICB";
$numvideos=1000;
$fdirectory="/opt/lampp/htdocs/TubeKit/Berlin/flash";
$mdirectory="/opt/lampp/htdocs/TubeKit/Berlin/mpeg";
$mpdirectory="tools/magpierss-0.72";
$ytdldirectory="";
?>



Habe dann mal
Code: Select all
localhost
durch
Code: Select all
127.0.0.1
ersetzt. Nur um mal was auszuprobieren, und bekam wieder wie damals nach ausführen der php file:
Code: Select all
Warning: require_once(tools/magpierss-0.72/rss_fetch.inc): failed to open stream:
No such file or directory in opt/lampp/htdocs/TubeKit/Berlin/collectOnce.php on line 8

Fatal error: require_once(): Failed opening required ´tools/magpierss-0.72/rss_fetch.inc´ (include_path=´.:/usr/share/php:usr/share/pear´) in opt/lampp/htdocs/TubeKit/Berlin/collectOnce.php on line 8


requireOne.php: (Sorry, beim Kopieren ist die Struktur ein wenig verloren gegangen).
Code: Select all
<?php     
// TubeKit Beta 4   
 // http://www.tubekit.org   
 // Author: Chirag Shah   
 // Date: 05/09/2013     
ini_set("memory_limit","100M");     
require_once("config.php");     
require_once("$mpdirectory/rss_fetch.inc");     
require_once("parseRSS.php");     
date_default_timezone_set('America/New_York');     
$t=getdate();     
$today=date('Y-m-d',$t[0]);     
$qTableName = $prefix . "_queries";     
$oTableName = $prefix . "_once";       
   
$query = "SELECT * FROM $qTableName";     
$vresult = mysql_query($query) or die(" ". mysql_error());     
while ($line = mysql_fetch_array($vresult, MYSQL_ASSOC))      {         $vquery = $line['query']; //        echo "Processing $vquery...\n";         $vquery = urlencode($vquery);         $qid = $line['id'];              $rankDoc = $prefix . "_" . $qid . ".ranks";         $fr = fopen($rankDoc, 'w');         $rank = 1;         $maxIndex = $numvideos-49;                  // If you're getting throttled by YouTube, you may want to restrict your search results to          // a smaller number. You can set it in your database, or right here in the code.         // If you want to do it in the code, comment the previous line and uncomment the next line.         // Then set a number in the next line. Currently it's 100. //        $maxIndex = 100;         for ($index=1; $index<=$maxIndex; $index+=50)         {             $url = "http://gdata.youtube.com/feeds/api/videos?vq=$vquery&max-results=50&start-index=$index"; //            echo "\tFetching $url\n";             $rss = fetch_rss($url);              foreach ($rss->items as $item)              {                 $yt_url = $item[link];                 $ytID = substr($yt_url,31,11);                      $query = "SELECT * from $oTableName WHERE yt_id='$ytID' AND query_id='$qid'";                 $result = mysql_query($query) or mysql_error();                 $num_rows = mysql_num_rows($result);                  // Only if there wasn't already a video with the same ID for the same query, process further                                                                                                               if ($num_rows == 0)                                       {                     $feedURL = "http://gdata.youtube.com/feeds/api/videos/$ytID"; //                    echo "\t\tExtracting $feedURL\n";                     if(file_get_contents($feedURL))                     {                         $entry = simplexml_load_file($feedURL);                         $video = parseVideoEntry($entry);                                                  $timestamp = time();                         $title = $video->title;                         if ($title!="") {                             $description = $video->description;                             $username = $video->username;                             $upload_time = $video->published;                             $duration = $video->length;                             $category = $video->category;                             $video_url = $video->watchURL;                             $thumb_url = 'http://i1.ytimg.com/vi/' . $ytID . '/0.jpg';                             $keywords = $video->keywords;                             $view_count = $video->viewCount;                             $rating_count = $video->numrating;                             $rating_avg = $video->rating;                             $comment_count = $video->commentsCount;                             $favorited = $video->favoriteCount;                                 $response_count = $video->responseCount;                                                                              $query = "INSERT INTO $oTableName VALUES('','$qid','$ytID','$timestamp','','','$today'";                             $dquery = "SHOW COLUMNS FROM $oTableName";                             $result = mysql_query($dquery) or mysql_error();                             while($line = mysql_fetch_assoc($result))                             {                                 $fieldName = $line['Field'];                                 switch($fieldName)                                 {                                     case 'title':                                         $query = $query . ",'$title'";                                         break;                                     case 'description':                                         $query = $query . ",'$description'";                                         break;                                     case 'username':                                         $query = $query . ",'$username'";                                         break;                                     case 'upload_time':                                         $query = $query . ",'$upload_time'";                                         break;                                     case 'duration':                                         $query = $query . ",'$duration'";                                         break;                                     case 'category':                                         $query = $query . ",'$category'";                                         break;                                     case 'keywords':                                         $query = $query . ",'$keywords'";                                         break;                                     case 'video_url':                                         $query = $query . ",'$video_url'";                                         break;                                     case 'thumb_url':                                         $query = $query . ",'$thumb_url'";                                         break;                                     case 'view_count':                                         $query = $query . ",'$view_count'";                                         break;                                     case 'rating_count':                                         $query = $query . ",'$rating_count'";                                         break;                                     case 'rating_avg':                                         $query = $query . ",'$rating_avg'";                                         break;                                     case 'comment_count':                                         $query = $query . ",'$comment_count'";                                         break;                                     case 'comments':                                         $query = $query . ",'$comments'";                                         break;                                     case 'response_count':                                         $query = $query . ",'$response_count'";                                         break;                                     case 'favorite_count':                                         $query = $query . ",'$favorited'";                                         break;                                     case 'rank':                                         $query = $query . ",'$rank'";                                         break;                                                 default:                                         break;                                             } // switch($fieldName)                             } // while($line = mysql_fetch_assoc($result))                                                     $query = $query . ")";                             $result = mysql_query($query) or mysql_error();                         }                     }                 } // if ($num_rows == 0)                         fwrite($fr, "$rank $ytID\n");                 $rank++;             } // foreach ($rss->items as $item)          } // for ($index=1; $index<=51; $index+=50)         fclose($fr);     }          ?>


Wo ist da der Wurm drin?? Linux endlich drauf und wieder dasselbe Problem, oder zumindest läuft es wieder auf dasselbe hinaus. Was soll ich jetzt machen, wer hat da mehr Erfahrung als ich??

Danke schon Mal vorab.
Dromedarvid
 
Posts: 4
Joined: 20. May 2015 11:51
Operating System: Win7 Home Premium 64

Re: Xampp und TubeKit-crawler

Postby Nobbie » 26. May 2015 13:10

Dromedarvid wrote:Beim Auführen der php file über das Terminal
Code: Select all
 php /opt/lampp/htdocs/TubeKit/Berlin/collectOnce.php

Folgende Warnung:
Code: Select all
PHP Warning: mysql_connect(): Can´t connect to local MySQL server through socket 'var/run/mysqld/mysqld.sock' (2) in  /opt/lampp/htdocs/TubeKit/Berlin/config.php on line 2
Cannot connect the database: Can't connect to local MySQL server through socket 'var/run/mysqld/mysqld.sock'   



Das ist klar, Du murkst ganz schön herum. WIeso überhaupt rufst Du dieses Script im Terminal auf? Muss man das? Ich dachte, das wäre ein Online Tool?

Zweitens: Offensichtlich hast Du jetzt PHP "normal" installiert (von der Linux Distribution) und auch noch Xampp. Also doppelt. Wenn Du nur "php" im Terminal eingibst, startest Du mit einiger Sicherheit die PHP Linux Version, nicht die von Xampp. Außerdem sieht es aus, als wenn auch ein MySQL zusätzlich zu Xampp schon vorhanden ist und das passt nicht zur Tubekit Installation, weil die unter Xampp installiert wurde.

Das ist ehrlich gesagt ziemlich krudes Zeug. Was für ein Linux hast Du installiert, wieso ist da PHP und MySQL usw. schon drauf, wenn man Ubuntu Desktop installiert, ist da nichts von vorhanden?! Du befindest Dich in einem heillosen Softwarewust.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Xampp und TubeKit-crawler

Postby Nobbie » 26. May 2015 14:28

Ich bin jetzt mal richtig eingestiegen, das TubeKit Zeugs ist fehlerhaft bis zum Tod umfallen, ich bin schon ziemlich weit, man muss vieles korrigieren, aber am Schluss scheitert es am RSS Parser, da ist einer fest (und falsch) eingebunden und der fängt offensichtlicht mit dem ermittelten Format nichts an. Ich habe alles am Laufen, aber es kommt immer nur ein einzige Link zu einem Youtube Video "Device not supported".

Das hat so keinen Sinn. Suche Dir etwas anderes, was besser gewartet wird. Ich habe das Youtube Video auch gesehen, das stimmt schon nicht überein mit dem aktuellen Setup -> sinnlos.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Xampp und TubeKit-crawler

Postby Dromedarvid » 26. May 2015 14:54

Hallo Nobbie,

Nobbie wrote:WIeso überhaupt rufst Du dieses Script im Terminal auf? Muss man das?


Nein eigentlich nicht. Im "Crawling Setup" kann man den Zeitpunkt zum Ausführen einstellen, bin aber dem Tutorial gefolgt, da alles noch so fremd ist (dort war es kein Problem) und wollte direkt mal Ergebnisse sehen um meine Queries auf Homonyme hin zu überprüfen. Sollte doch eigentlich machbar sein.

Nobbie wrote:Zweitens: Offensichtlich hast Du jetzt PHP "normal" installiert (von der Linux Distribution) und auch noch Xampp. Also doppelt. Wenn Du nur "php" im Terminal eingibst, startest Du mit einiger Sicherheit die PHP Linux Version, nicht die von Xampp. Außerdem sieht es aus, als wenn auch ein MySQL zusätzlich zu Xampp schon vorhanden ist und das passt nicht zur Tubekit Installation, weil die unter Xampp installiert wurde.


Hmmm.. Habe sofort nach dem Aufsetzten von Ubuntu 14.04.02 Desktop, nutze hierfür ein separates Netbook, den Xampp-linux-5.5.24-0 installer ausgeführt.
Beim Ausführen der .php Datei sagte mir das Terminal, dass PHP fehlen würde und bot mir direkt die installation an. :oops: Habe ich direkt mal ausgeführt :oops:


Nobbie wrote:Was für ein Linux hast Du installiert, wieso ist da PHP und MySQL usw. schon drauf, wenn man Ubuntu Desktop installiert, ist da nichts von vorhanden?!

Ubuntu 14.04.2 LTS
Wusste nicht dass mysql schon vorinstalliert ist, Linux ist völliges Neuland für mich. Ich nahm an, ich könnte xampp installieren und direkt loslegen.


Nobbie wrote:Du befindest Dich in einem heillosen Softwarewust.

Du sagst es!


Nobbie wrote:Ich bin jetzt mal richtig eingestiegen, das TubeKit Zeugs ist fehlerhaft bis zum Tod umfallen, ich bin schon ziemlich weit, man muss vieles korrigieren, aber am Schluss scheitert es am RSS Parser, da ist einer fest (und falsch) eingebunden und der fängt offensichtlicht mit dem ermittelten Format nichts an. Ich habe alles am Laufen, aber es kommt immer nur ein einzige Link zu einem Youtube Video "Device not supported".

Das hat so keinen Sinn. Suche Dir etwas anderes, was besser gewartet wird. Ich habe das Youtube Video auch gesehen, das stimmt schon nicht überein mit dem aktuellen Setup -> sinnlos.



O.K. schade. Hab mich schon ein wenig umgesehen, Apache Nutch scheint passabel zu sein. Eigentlich zu schade nach der breits aufgewendeten Zeit.

Danke für deine Mühen Nobbie.
Dromedarvid
 
Posts: 4
Joined: 20. May 2015 11:51
Operating System: Win7 Home Premium 64


Return to PHP

Who is online

Users browsing this forum: No registered users and 20 guests