URL: https://www.overclockers.at/coding-stuff/php-urls-prfen_248517/page_1 - zur Vollversion wechseln!
wir haben hier eine kleine datenbanktabelle mit ein paar dutzend URL's. hauptsächlich links auf die AGB von fluggesellschaften und ähnlichem.
nun würden wir diese tabelle gerne wöchentlich auf gültigkeit prüfen, z.b. per PHP script damit unsere leute das im intranet bedienen können.
wie kann ich sowas am besten angehen?
rein auf eine gültige URL zu prüfen ist zuwenig, immerhin hat inzwischen jede webseite custom error landingpages. und deren HTTP header ist auch nicht immer sauber auswertbar..
Hier gibt's eine große Auswahl von open source web crawlern:
http://bigdata-madesimple.com/top-5...or-data-mining/
Musst dir halt überlegen, was du als "webseite noch gut" bzw. "webseite nimma gut" heranziehst.
z.b. https://www.ryanair.com/de/de/nutzl...aftsbedingungen
kommen die AGB? -> gut
keine AGB? -> nimma gut
Wennst dich auf den Status Code nicht verlassen willst (was aber imho schon gehen sollte), dann kannst du zusätzlich das Ergebnis noch auf 1-2 Keywords prüfen.. bei so einer überschaubaren Anzahl von Seiten sollte das ja keine große Sache sein da 1x die Keywords zusammensuchen. Ein Web Crawler ist da ja schon eher Overkill.
Aber was suchst jetzt eigentlich? Einen Ansatz, eine Library oder ein fixfertiges Tool bzw jemanden ders dir codet? 
irgend ein ansatz würd mir schon reichen.
momentan test ich in php herum weils sich bei uns halt anbietet.
bisher hab ich versucht die http responses auszuwerten, geht nicht weil nicht jede seite was korrektes sendet (bzw einfach immer 200 OK). dann hab ich versucht, inhalte mit file_get_contents zu parsen, ging auch nicht da die hälfte (besonders https) mit stream errors abbricht. und momentan scheitere ich gerade mit curl, da bekomm ich teilweise gar nichts zurück.
es is zum plärrn.
index.js
Code: JSvar request = require('request'); var urls = [ "http://www.fluege.de/service/terms", "https://www.austrian.com/Info/LegalRegulations/ConditionsOfCarriage.aspx?sc_lang=de&cc=AT" ]; var keywords = ["AGB " , "Geschäftsbedingungen"]; urls.forEach(function(url){ request(url, function(error, response, html){ if(!error){ var hit = false; keywords.forEach(function(keyword){ if(html.indexOf(keyword) != -1){ hit = true; } }); if(!hit){ console.log("probably not an AGB site: " + url); } }else{ console.log("failed loading: " + url); } }); });
Code: JSON{ "name": "agb_parser", "description": "", "version": "1.0.0", "description": "", "main": "index.js", "dependencies": { "request" : "latest" } }

Folgt das Ding auch Javascript Redirects? Denke das ist das was (u.a.) bei Umlüx ned hinhaut..
ne folgt keinen redirects
NodeJs
hmm. ok muss ich mir erstmal ansehen. danke einstweilen.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026