yacysearch.html als Einzel-Beispiel vorhanden ?

Hier finden YaCy User Hilfe wenn was nicht funktioniert oder anders funktioniert als man dachte. Bei offensichtlichen Fehlern diese bitte gleich in die Bugs (http://bugs.yacy.net) eintragen.
Forumsregeln
In diesem Forum geht es um Benutzungsprobleme und Anfragen für Hilfe. Wird dabei ein Bug identifiziert, wird der thread zur Bearbeitung in die Bug-Sektion verschoben. Wer hier also einen Thread eingestellt hat und ihn vermisst, wird ihn sicherlich in der Bug-Sektion wiederfinden.

yacysearch.html als Einzel-Beispiel vorhanden ?

Beitragvon seduction-search » Sa Okt 16, 2010 5:46 pm

Hi,

hab schonmal wegen einer php-Ausgabe nachgefragt. Im Grunde muss es aber nicht zwingend php sein.

Ich brauche eine datei, die die Anfrage an einen bestimmten Server schickt und die Ausgabe wie z.B. in der yacysearch.html macht (wobei das Design später anpassbar sein soll)

Gibt es in der %Richtung vielleicht eine Musterlösung, wo man nur noch den gewünschten Server + Port angeben muss !?


mfg

seduction-search
seduction-search
 
Beiträge: 12
Registriert: Fr Okt 08, 2010 10:45 am

Re: yacysearch.html als Einzel-Beispiel vorhanden ?

Beitragvon Lotus » Sa Okt 16, 2010 6:38 pm

Wenn das Design anpassbar sein soll, kannst du doch die Daten holen und selbst verarbeiten wie du möchtest. XML geht in PHP ganz einfach, z.B. [1].
Im Webinterface von YaCy gibt es einen API-Knopf oben rechts, da ist genau erklärt wie man an die Daten kommt.

[1] http://de2.php.net/manual/de/book.simplexml.php
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: yacysearch.html als Einzel-Beispiel vorhanden ?

Beitragvon seduction-search » Sa Okt 16, 2010 7:34 pm

Lotus hat geschrieben:Wenn das Design anpassbar sein soll, kannst du doch die Daten holen und selbst verarbeiten wie du möchtest. XML geht in PHP ganz einfach, z.B. [1].
Im Webinterface von YaCy gibt es einen API-Knopf oben rechts, da ist genau erklärt wie man an die Daten kommt.

[1] http://de2.php.net/manual/de/book.simplexml.php


genau das versteh ich ja nicht!

Also nicht xml - sondern wie das ganze funktioniert .....

wie schickt man die Abfrage an den Server und wie kann ich diese dann ausgeben!

mit xml ... ok ...... aber irgendwie versteh ich das Gesamtkonzept nicht .....

mir fehlt ein Pack-An bei der ganzen Sache .....

deswegen such ich ja schon die ganze Zeit nach ganz simplen Beispielen, an dennen ich verstehe, wie es funktioniert

mfg
seduction-search
 
Beiträge: 12
Registriert: Fr Okt 08, 2010 10:45 am

Re: yacysearch.html als Einzel-Beispiel vorhanden ?

Beitragvon Orbiter » Sa Okt 16, 2010 10:44 pm

mal anders erklärt weil das viele besser anschaulich finden:
- mache eine normale suche in yacy
- dann siehst du eine Ergebnisseite
- in der url der seite ersetzt du in der adresse das 'html' mit 'rss'
- du erhälst dann das suchergebnnis als rss, was halt ein xml ist
- dieses rss kann man mit jedem feed reader verarbeiten
- genau das machen die oben angesprochenen php lösungen
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: yacysearch.html als Einzel-Beispiel vorhanden ?

Beitragvon seduction-search » So Okt 17, 2010 10:35 am

Orbiter hat geschrieben:mal anders erklärt weil das viele besser anschaulich finden:
- mache eine normale suche in yacy
- dann siehst du eine Ergebnisseite
- in der url der seite ersetzt du in der adresse das 'html' mit 'rss'
- du erhälst dann das suchergebnnis als rss, was halt ein xml ist
- dieses rss kann man mit jedem feed reader verarbeiten
- genau das machen die oben angesprochenen php lösungen


Danke hat mir sehr geholfen! Frag mich nur, warum die Beispiele im wiki so schwer verständlich sind !?!?

Hab noch 2 Sachen ......

1. wie bekomme ich heraus, wieviele Suchergebnisse es Insgesamt gibt?

2. Diese Leisten links ... DomainNavigator/Autorennavigator/Themennavigator
- Gibt es diese Ergebnisse, auch in einer xml ??

mfg & danke nochmal für die einfache Erklärung
seduction-search
 
Beiträge: 12
Registriert: Fr Okt 08, 2010 10:45 am

Yacy -> #[totalcount]#

Beitragvon seduction-search » Mo Okt 18, 2010 2:23 pm

Hi,

ich hab inzwischen verstanden das die Variable #[totalcount]# die Gesamtanzahl der Suchergebnisse ausgibt.
ich versteh aber nicht, warum yaxysearch.rss beim Aufrufen diese ausgibt und wenn die die selbe URL per php aufrufe, leer bleibt!
bitte um Hilfe


mfg

seduction-search
seduction-search
 
Beiträge: 12
Registriert: Fr Okt 08, 2010 10:45 am

Re: yacysearch.html als Einzel-Beispiel vorhanden ?

Beitragvon Copro » Di Okt 19, 2010 4:46 am

Die Variable #[totalcount]# wird nur im Java Servlet selber ausgewertet - man kann natürlich auch seine eigene beliebig aussehende und gestylte Seite für die Ausgabe als Servlet erstellen.
Die kann man dann auf einer YaCy Instanz selber hosten und braucht auch kein PHP oder andere Anforderungen auf dem Server. Beispiele gibt es hier: Developer: YaCy Servlet Beispiele

Im Falle PHP zum Einsatz kommt muss man sich die Anzahl der Ergebnisse eben aus dem XML Dokument (im RSS Format) parsen das der gefragte YaCy Knoten zurückliefert.
In der Antwort von yacysearch.rss wäre das also <opensearch:totalResults>ANZAHL_DER_GESAMTERGEBNISSE</opensearch:totalResults>

Als zum Beispiel rufe doch mal folgende URL (im Browser) auf und analysiere den Quelltext:
http://localhost:8080/yacysearch.rss?query=MeinSuchbegriff&Enter=Suchen&contentdom=text&former=hi&maximumRecords=10&startRecord=0&verify=iffresh&resource=global&nav=all&urlmaskfilter=.*&prefermaskfilter=&depth=0&cat=href&display=0&constraint=&meanCount=5
Vorraussetzung ist eine lokale YaCy Instanz - ansonsten eben den Hostnamen durch einen öffentlichen YaCy Knoten tauschen.

Auschnitt aus der Antwort einer Demosuche auf meinem Peer:
Code: Alles auswählen
      <opensearch:totalResults>129</opensearch:totalResults>
      <opensearch:startIndex>0</opensearch:startIndex>
      <opensearch:itemsPerPage>10</opensearch:itemsPerPage>

YaCy hat also insgesamt 129 Ergebnisse (lokal und remote in meinem Beispiel) gefunden und zeigt wie angefordert nun die ersten 10 an.
Und einen XML Parser in PHP der solche Ergebnisse verarbeiten kann wurde ja schon verlinkt.
Copro
 
Beiträge: 207
Registriert: Do Dez 13, 2007 3:37 am

Re: yacysearch.html als Einzel-Beispiel vorhanden ?

Beitragvon seduction-search » Di Okt 19, 2010 1:00 pm

danke .....

mein Problem liegt aber (wie oben schon geschrieben) das dieser Wert bei der PHP-Abfrage leer bleibt!

Beispiel:
Ich rufe in meinem Browser folgende Seite auf
http://localhost/yacysearch.rss?query=hosen&Enter=Suchen&contentdom=text&former=hi&maximumRecords=1&startRecord=0&verify=iffresh&resource=global&nav=all&urlmaskfilter=.*&prefermaskfilter=&depth=0&cat=href&display=0&constraint=&meanCount=5

Im Quellcode finde ich folgende Angabe :
<opensearch:totalResults>2.028</opensearch:totalResults>
<opensearch:startIndex>0</opensearch:startIndex>
<opensearch:itemsPerPage>1</opensearch:itemsPerPage>


Alles soweit In Ordnung!

Jetzt rufe ich die gleiche Seite in php ab :
Code: Alles auswählen
<?php
//XML mit simpleXML laden und in Variable speichern!
$xml = simplexml_load_file("http://localhost/yacysearch.rss?query=hosen&Enter=Suchen&contentdom=text&former=hi&maximumRecords=1&startRecord=0&verify=iffresh&resource=global&nav=all&urlmaskfilter=.*&prefermaskfilter=&depth=0&cat=href&display=0&constraint=&meanCount=5");

//Ausgeben des Quellcodes
echo '<pre>';
print_r($xml);
echo '</pre>';

?>


und als Ergebnis bekomme ich :

Code: Alles auswählen
SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [version] => 2.0
        )

    [comment] => SimpleXMLElement Object
        (
        )

    [channel] => SimpleXMLElement Object
        (
            [title] => Seduction-Search - Die Seduction Suchmaschine
            [description] => Search for hosen
            [link] => http://localhost/yacysearch.html?query=hosen&resource=local&contentdom=text&verify=iffresh
            [image] => SimpleXMLElement Object
                (
                    [url] => http://localhost/env/grafics/yacy.gif
                    [title] => Search for hosen
                    [link] => http://localhost/yacysearch.html?query=hosen&resource=local&contentdom=text&verify=iffresh
                )

            [item] => SimpleXMLElement Object
                (
                    [title] => In Hosen wohnen | sexdrugsblognroll.com - fetter ansatz. trockene spitzen.
                    [link] => http://sexdrugsblognroll.com/2010/06/17/in-hosen-wohnen
                    [description] => In Hosen wohnen | sexdrugsblognroll.com - fetter ansatz. trockene spitzen
                    [pubDate] => Sat, 18 Sep 2010 20:00:00 -0400
                    [guid] => nlCjpyN08Rbb
                )

        )

)



Dabei wird kein <opensearch:totalResults> ausgegeben !
Hmm ..... die gefundene Seite sollt ich auch mal filtern ........ (seh ich gerade :P)

mfg

Seduction-Search
seduction-search
 
Beiträge: 12
Registriert: Fr Okt 08, 2010 10:45 am

Re: yacysearch.html als Einzel-Beispiel vorhanden ?

Beitragvon Copro » Do Okt 21, 2010 6:12 am

Mhm, dann kann der simpleXML Parser die Namespaces nicht automatisch erkennen die angegeben sind.
Das OpenSearch XML Dokument im RSS 2.0 Format das YaCy ausgibt ist hier näher beschrieben: http://www.opensearch.org/Specifications/OpenSearch/1.1#Namespace

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Example.com Search: New York history</title>
<link>http://example.com/New+York+history</link>
<description>Search results for "New York history" at Example.com</description>
<opensearch:totalResults>4230000</opensearch:totalResults>
<opensearch:startIndex>21</opensearch:startIndex>
<opensearch:itemsPerPage>10</opensearch:itemsPerPage>
<atom:link rel="search" type="application/opensearchdescription+xml" href="http://example.com/opensearchdescription.xml"/>
<opensearch:Query role="request" searchTerms="New York History" startPage="1" />
<item>
<title>New York History</title>
<link>http://www.columbia.edu/cu/lweb/eguids/amerihist/nyc.html</link>
<description>
... Harlem.NYC - A virtual tour and information on
businesses ... with historic photos of Columbia's own New York
neighborhood ... Internet Resources for the City's History. ...
</description>
</item>
</channel>
</rss>


Diese Anleitung Using SimpleXML To Parse RSS Feeds beschreibt genauer wie man RSS Feeds mit eigenen Namespaces mit SimpleXML richtig parsen kann. In dem Fall hier geht es um folgende:
xmlns:yacy="http://www.yacy.net/"
xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"
xmlns:media="http://search.yahoo.com/mrss/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:dc="http://purl.org/dc/elements/1.1/"
Copro
 
Beiträge: 207
Registriert: Do Dez 13, 2007 3:37 am

Re: yacysearch.html als Einzel-Beispiel vorhanden ?

Beitragvon seduction-search » Fr Okt 22, 2010 12:49 pm

ok ich habs

hier mal die Lösung für alle :

Code: Alles auswählen
// ab PHP 5.2
$xml->channel->children("opensearch", true)->totalResults;
seduction-search
 
Beiträge: 12
Registriert: Fr Okt 08, 2010 10:45 am


Zurück zu Fragen und Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron