hallo liebe Communtiy, guten Abend
ich bin grade dabei ein script zu schreiben. Es soll parsen - und dann speichern.
Es hat insges. drei Teile: Ich will es auf dem Xampp laufen lassen! Soviel steht schomma festl
Die drei Teile;
1. Seite holen
2. parsen
3. speichern
Es soll alles in ein Script gepackt werden
Als Erstes brauche ich eine Verbindung zur DB sagen wir MySQL, oder vielleicht auch mysqli anstatt mysql. Also ich speicher das hier als db.php
[php]$host="localhost"; //database hostname
$username="******"; //database username
$password="******"; //database password
$database="******"; //database name
?>
[/php]
Jetzt mach ich ein Script und speicher das als config.php
[php]<?php
require_once('db.php'); //call db.php
$connect=mysqli_connect($host,$username,$password); //connect to mysql through mysqli
if(!$connect){
die("Cannot connect to host, please try later."); //throw error if any problem
}
else
{
$select_db=mysqli_select_db($database); //select database
if(!$select_db){
die("Site Database is down at the moment, Please check later. We will be back shortly."); // error if cannot connect to database or db does not
exist
}
}
?>[/php]
Jetzt kümmere ich mich um das Script, das die Files holt (das ist sehr sehr basic - es ist nur ein Bastelscript.
Ich werd später vielle. cURL einsetzen - weil cURL viel viel leistungsfähiger ist und damit auch viel mehr kann.
Das script hier - soll die Parserarbeit leisten. Sehr gerne würde ich den Target-URL automatisch einlesen - aus einer
Datenbank - wie mache ich das hier denn
[php]<?php
require_once('config.php'); // call config.php for db connection
$content = file_get_contents("<-hier kommt der URL rein - die Zieladresse - die will ich gerne aus einer DB einlesen!");
var_dump($content);
$pattern = '/<td>(.*?)<\/td>/si';
preg_match_all($pattern,$content,$matches);
foreach ($matches[1] as $match) {
$match = strip_tags($match);
$match = trim($match);
var_dump($match);
$sql = mysqli_query("insert into tablename(contents) values ('$match')");
}
?>[/php]
Das ist alles noch sehr grundlegend - ich will es erstmal grundsätzlich zum Laufen bringen. Wenn es
dann läuft, dann kann ich vielleicht das ein oder andere noch anpassen.
Frage: Ich hab die URLs in einem File gespeichert. Wie geht es, wenn ich
a. die URLS aus einem File einlesen will oder
b- die URLs aus einer DB einlesen will - was vielle noch eleganter ist. - aber ggf. noch mehr Aufwand bedeutet.
Wie rufe ich die URLS denn auf an der Psition: $content = file_get_contents(" <--hier kommt der URL rein - die Zieladresse - die will ich gerne aus einer DB einlesen-> ");
für a. Der Ordner mit den Urls URLs ist im selben Verzeichnis gespeichert wie das Parserscript auch.
Danke für Tipps und für eine Anregung - einen ersten Startpunkt!
Falls ich mehr erklären soll - bitte einfach nochmals posten - oder nachfragen.
Gerne kann ich mehr erklären oder weiter ausholen!!
Grüße
se