QA- Quality Assurance web portalov

živjo!
Iščem po netu, pa ne najdem programčka, ki sem si ga zamislil.

Iščem namreč program, ki bo sposoben pogledat na nekaj določenih strani, podstrani itd., ter najti nekaj ključnih besed, ter potem javiti ali jih je našel ali ne.

Gre se za to, da bi rad zagotovil pravilno delovanje spletnih strani in podstrani s tem, da bi mi računalnik preverjal ali so strani dosegljive, ter ali je na straneh prikazana pravilna vsebina.

Če kdo kaj ve za kaj takšnega, se priporočam.

lp
matjaž

9 odgovorov

simpl verzijo takega programa se da napisat zelo na hitro v npr REBOL-u

samo kaj se ti bojiš ... da tvoja stran ne dela.. al da ti je nekdo pobrisu vsebino?

Gre se za to, da se mi vsak vsebina generira dinamično. Ker se portal redno razvija, tudi redno lahko prihaja do določenih težav, da se kakšna vsebina ne prikaže. In ker za portal skrbi mala četica različnih servisov se lahko zgodi, da en servis odleti in tako se stran lepo odpre, le brez vsebine na določenih podstraneh. Zato bi rad to čekiral.

lp
m

v rebolu je to neki v tem stilu

check: func [ url text ] [ if/else not find read url text [ "neki ne dela" ] [ "OK" ] ]
foreach site [ [ http://www.najdi.si "najdi.si" ] [ http://www.google.com "microsoft" ] ] [ print join site/1 [ ": " check site/1 site/2 ] ]

in če greš v konzolo in zalaufaš dobiš>>
connecting to: www.najdi.si
http://www.najdi.si : OK
connecting to: www.google.com
http://www.google.com : neki ne dela

samo to je simpl varjanta ki se da nadgradit v to da preverja več tekstov na stran, da gleda če ej stran sploh dosegljiva,, da logira, da pošlje email itd

Naredi to z PHP-jem, naredi array za strani ter znotraj tega array besed, ki se morajo nahajati na teh straneh. Potem odpreš socket, potegneš stran dol in searchaš če vsebina includa to besedo, drugače pošlješ email da je prišlo do napake.

hja, sliši se simpel, ampak če ne znaš PHPja, je malce težje:)

Za Rebol pa prvič slišim...

Vseeno hvala..Bom raziskoval naprej:)

hint: fopen(url) ... ni niti treba se hecat s socketi... razen če ma hosting allowurlfopen off v php.ini nastavitvah.

<?php
$sites = array(
'http://www.najdi.si' => array(
'index.jsp' => array(
'beseda1', 'beseda2', 'beseda3 ki mora biti na tej strani'
),
'tretjaStran.html'
),
'test.com' => array(
'enastran.php', // klele moraš še te besede noter dat pr vsakmu pagu
'drugastran.php')); // klele moraš še te besede noter dat pr vsakmu pagu

foreach($sites as $site => $pages) {
foreach($pages as $page => $pageKeywords) {
$pageContent = @filegetcontents($site . '/' . $page);

 // Site was not found, continue with next site
 if ($pageContent === false) {
    echo "$site/$page ni moč odpreti<br/>";
    continue;
 }

 // Site was found, check keywords on this pages
 foreach($pageKeywords as $keyword) {
    if (strpos($pageContent, $keyword) === false) {
        echo "{$keyword} was not found on $site/$page <br/>";
    }
 }

}
}
?>

Še en noobowsi način ...

$strani = array("http://www.najdi.si", "http://www.worldofmi.com/");
$besede = array("jebač", "will announce");
$ctr = -1;
foreach ($strani as $check) {
$ctr++;
$stran = fopen($check, 'r');
if (preg_match("/$besede[$ctr]/", stream_get_contents($stran, -1, 30), $stevilo, PREG_OFFSET_CAPTURE)) {
echo "OK";
}
else {
echo "ERROR $check (".$besede["$ctr"].") \n";
}
fclose($stran);
}

Isto kul, samo da pri zgornji skripti lahko poveš katere besede za točno določeno stran:)