php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 28-12-2010, 18:20
CoolCopper
 Registrierter Benutzer
Links : Onlinestatus : CoolCopper ist offline
Registriert seit: Jan 2005
Beiträge: 13
CoolCopper ist zur Zeit noch ein unbeschriebenes Blatt
Question SQL Datenbank durch PHP mit Suchmaschine abgleichen?

Ich bin zu Zeit dran ein Script zu schreiben wo ich meine fast 5.000 Kundesetzte in einer Suchmaschine durchsuchen möchte. Ziel ist es die TOP 10 Domain Resultate in die SQL Datenbank zurückzugeben.

Meine Tabelle besteht aus Mehrere Spalten Name, Straße PLZ und Ort

Diese Werte sollen per Link an die Suchmaschine übergeben werden um die resoluteste nach links auf Domains zu durchsuchen und diese hinter den Kunden einzufügen, danach ist die nächste Zeile mit dem nächsten Kunden rank.

Die Datenbank konnte ich importieren und auch eine Verbindung ist erfolgreich. Leider werden die Zeilen nicht an die Url weitergeben. Hat jemand Tipps für mich wie ich diese Script bewerkstellige?

PHP-Code:
$mysqlhost "XXXXXX"// MySQL-Host angeben
$mysqluser "XXXXXX"// MySQL-User angeben
$mysqlpwd "XXXXXX"// Passwort angeben
// Login an SQL Datenbank
$conn mysql_connect("$mysqlhost""$mysqluser""$mysqlpwd") or die ("Keine Verbindung moeglich");
$mydb mysql_select_db("XXXXXX") or die ("Die Datenbank existiert nicht.");

if (!
$conn) {
    echo 
"Keine Verbindung zur DB: " mysql_error();
    exit;
}

if (!
$mydb) {
    echo 
"Kann  mydb nicht auswählen: " mysql_error();
    exit;
}

$sql 'SELECT B, C, D FROM Tabelle1';

$result mysql_query($sql);

if (!
$result) {
    echo 
"Anfrage ($sql) konnte nicht ausgeführt werden : " mysql_error();
    exit;
}

if (
mysql_num_rows($result) == 0) {
    echo 
"Keine Zeilen gefunden, nichts auszugeben, daher Abbruch";
    exit;
}
   
$url "http://www.google.de/#q=$sql";
   
$file fopen($url"r");
   while(!
feof($file))
   echo 
fgets($file4096);
fclose($file); 
Liebe Grüße
Mit Zitat antworten
  #2 (permalink)  
Alt 28-12-2010, 19:15
CoolCopper
 Registrierter Benutzer
Links : Onlinestatus : CoolCopper ist offline
Registriert seit: Jan 2005
Beiträge: 13
CoolCopper ist zur Zeit noch ein unbeschriebenes Blatt
Standard

So hab jetzt noch ein bisschen recherchiert. Denke dass die einfachste Lösung über die Google API zu bewerkstelligen ist, oder?

Google Web API Tutorial

PHP-Code:
<?
require_once("nusoap.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
        Strict//EN" "DTD/xhtml1-strict.dtd"><html
        xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
        lang="en">
<head>
    <title>Test</title>
</head>
<body>

<h1>Hello World</h1>

<?
$Query 
"Hello World"// [3]
$key "[Put your developer's key here]";
$start 0;

$parameters = array( 
            
"key"         => $key,
            
"q"           => $Query,
            
"start"       => $start,
            
"maxResults"  => 10,
            
"filter"      => true,
            
"restrict"    => "",
            
"safeSearch"  => false,
            
"lr"          => "lang_en"
            
"ie"          => "",
            
"oe"          => ""
    
);

$soapclient = new soapclient("http://api.google.com/search/beta2"); // [1]
$result $soapclient->call("doGoogleSearch"$parameters"urn:GoogleSearch");
$searchtime $result["searchTime"];
$begin $start 1;
$end $start $parameters["maxResults"];
$total $result["estimatedTotalResultsCount"]; 

if (
$total 0)
{
    
$result $result["resultElements"]; 

    for (
$i 0$i $parameters["maxResults"]; $i++)
    {
        
$element $result[$i];
        
$url $element["URL"];
        
$title $element["title"];
        
$snippet $element["snippet"]; // [2]
        
?><p><?= $snippet ?></p><?
    
}

}
?>
Wenn jemand von Euch einen anderen Ansatz wie man es eleganter machen kann haben sollte... würde ich mich über ein Posting freuen.

Gruß
Mit Zitat antworten
  #3 (permalink)  
Alt 28-12-2010, 20:56
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Dafür ist die API ja da.

Aber ich verstehe dein Vorhaben ehrlich gesagt nicht.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #4 (permalink)  
Alt 28-12-2010, 21:27
CoolCopper
 Registrierter Benutzer
Links : Onlinestatus : CoolCopper ist offline
Registriert seit: Jan 2005
Beiträge: 13
CoolCopper ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hey
Ich hab hier einige tausend Kunden Daten wo ich Zeile für Zeile Namen PLZ und Ort per Copy and Paste in Google kopiere und dann selber auswerte, ob es noch diesen Kunden gibt und ob dieser Kunde eine eigene HP hat oder nicht. Hat der Kunde eine HP, so wird Er von mir in unsere Datenbank als noch aktiv eingepflegt.

Genau diese Prozedur will ich mir zukünftig Sparren, da ich von meinen Kollegen noch ca. 35.000 Kundendaten bekomme die ich nicht Manuel auswerten kann.

Mit Google API kann ich leider nur 100 Suchen Täglich durchführen
Zur Bessern Verständnis

Hab eine Datenbank (SQL) mit ca.
35.000 Datensetzten also Kundennummer, Name, Straße, Plz und Ort

Dieses Script soll also Name, Staße, Plz und Ort in google Suchen und mir von der ersten Seite (Suchergebnis) die 10 gefunden URLs in die Datenbank zurückspielen (hinter Ort)

Geändert von CoolCopper (29-12-2010 um 12:47 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 29-12-2010, 14:29
CoolCopper
 Registrierter Benutzer
Links : Onlinestatus : CoolCopper ist offline
Registriert seit: Jan 2005
Beiträge: 13
CoolCopper ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sooo hab jetzt noch ein wenig herumexperimentiert, leider komm ich zu Zeit aber an den Punkt nicht weiter wo per fopen die Seite geladen wird. Hier lädt mein Browser alle Daten Sätze die in der Datenbank sind und diese führt zum Absturz des Browsers.

Wie erreiche ich mit fopen, dass ein Seite nach der anderen Seite abgearbeitet wird? Danach kann ich mich dem Beriech widmen der mein Resultat nach http: / URL durchsucht und diese in die Datenbank schreibt.

PHP-Code:
<?php
         $mysqlhost 
"XXXXXX"// MySQL-Host angeben
         
$mysqluser "XXXXXX"// MySQL-User angeben
         
$mysqlpwd "XXXXXX"// Passwort angeben
         // Login an SQL Datenbank
         
$conn mysql_connect("$mysqlhost""$mysqluser""$mysqlpwd") or die ("Keine Verbindung moeglich");
         
$mydb mysql_select_db("XXXXXX") or die ("Die Datenbank existiert nicht.");

    if (!
$conn) {
    echo 
"Keine Verbindung zur DB: " mysql_error();
    exit;
  }

    if (!
$mydb) {
    echo 
"Kann mydb nicht auswählen: " mysql_error();
    exit;
  }
    
$sql "SELECT * FROM `Tabelle1`";
    
$result mysql_query($sql);

    while(
$row mysql_fetch_array($result)) {
    
//gibt die Anfrage an Google (Name+Ort)
    
$url 'http://www.google.de/#q='.$row['Name']."+".$row['Strasse']."+".$row['Ort'];
    
//Seite Durchsuchen
    
$fp = @fopen($url);

    while(!
feof($fp))
         {
         
$zeile fgets($fp200); //200 Anzahl Zeichen einer Zeile
    
}

    
fclose($fp);
}

    if (!
$result) {
    echo 
"Anfrage ($sql) konnte nicht ausgeführt werden : " mysql_error();
    exit;
  }

    if (
mysql_num_rows($result) == 0) {
    echo 
"Keine Zeilen gefunden, nichts auszugeben, daher Abbruch";
    exit;
  }

mysql_free_result($result);
?>
Abgleich und suche nach URL:

PHP-Code:
    // URL holen
    
preg_match('@^(?:http://)?([^/]+)@i',
    
"$fp"$treffer);
    
$host $treffer[1];

    
// die letzten beiden Segmente aus Hostnamen holen
    
preg_match('/[^.]+\.[^.]+$/'$host$treffer); 

Geändert von CoolCopper (29-12-2010 um 15:50 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 29-12-2010, 17:44
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Entferne das @ vor fopen und drehe das error_reporting auf!
Mit Zitat antworten
  #7 (permalink)  
Alt 04-01-2011, 10:59
rei
 Registrierter Benutzer
Links : Onlinestatus : rei ist offline
Registriert seit: Dec 2010
Beiträge: 15
rei befindet sich auf einem aufstrebenden Ast
Standard Alternative zu Google

Also wenn es nicht unbedingt Google sein muss:

Yahoo! Search BOSS - YDN
Hier bekommst Du Deine SuchErgebnisse sauber aufbereitet als XML.

Example: http://boss.yahooapis.com/ysearch/web/v1/"Apple Pie"?appid=xyz&format=xml
__________________
meine Tochter: Mia Viktoria Neidl
und ich: Neidl Reinhard - Webprogrammierung

Geändert von rei (04-01-2011 um 11:03 Uhr) Grund: Beispiel eingefügt
Mit Zitat antworten
  #8 (permalink)  
Alt 04-01-2011, 16:08
CoolCopper
 Registrierter Benutzer
Links : Onlinestatus : CoolCopper ist offline
Registriert seit: Jan 2005
Beiträge: 13
CoolCopper ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hey rei, danke ist genau dass was ich gesucht habe



Und bei dieser API kann ich ja 5.000 Suchen pro Tag abarbeiten wooow...


Geändert von CoolCopper (04-01-2011 um 16:45 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 04-01-2011, 18:17
Apfelmus
 Registrierter Benutzer
Links : Onlinestatus : Apfelmus ist offline
Registriert seit: Aug 2009
Beiträge: 34
Apfelmus befindet sich auf einem aufstrebenden Ast
Standard

Darf ich Fragen für was man so was braucht ?
z.B.
Google 45+bremen

für was braucht man 10 Ergebnisse?
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datenbank-Backup durch den Kunden *Maiki SQL / Datenbanken 2 21-09-2007 01:23
Datenbank durch PHP und .sql Dateien erstellen Fido77 PHP Developer Forum 1 14-03-2006 12:47
Datenbank Suche Durch Script romu Apps und PHP Script Gesuche 13 02-03-2006 15:01
Fehlermeldung bei Änderung in Datenbank durch .php-datei 555*soul PHP Developer Forum 5 19-12-2002 11:45
Suchmaschine für eigene Webseite die auch Inhalte aus MySQL-Datenbank ausgibt. bulle1408 PHP Developer Forum 0 06-08-2002 15:26

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:53 Uhr.