Autor Zpráva
cistax
Profil
Dobrý den, chtel bych si napsat vlastního indexovacího bota. Kamarad mi rekl (nechtel prozradit svuj kod) ze to funguje zhruba takto:
ziskas si zdroj vychozi stranky
vytahnes z ni odkazy s http
otestujes, zda uz v "zasobniku"/databazi uz takovy odkaz nemas
pokud ne, ulozis
po ulozeni prejdes na dalsi odkaz v databazi/zasobniku a provedes to same

-- toto vsechno by melo probíhat automaticky a v php

a ja nevim, jak ziskat zdrojovy kod vychozi stranky pomoci php, a ne rucne. Potom jeste me nenapada, jak vytahnout ty odkazy, ale pocitam, ze to bude asi nejakej regularni vyraz.
fuckin
Profil
file_get_contents() nebo pres cURL.

Ano http najdes pres regulerni vyraz.
cistax
Profil
Díky, jak funguje to cURL?
fandaa
Profil
cistax
Můžeš použít a upravit si k obrazu svému třeba toto: PHP Classes: Crawler
cistax
Profil
díky
Pan X
Profil
cistax
Kamarad mi rekl (nechtel prozradit svuj kod) ze to funguje zhruba takto:
Prej kamarád :-D, psali jsme si spolu jen jednou. ty se divíš proč jsem nechtěl? Věnoval jsem tomu půl roku a ještě není hotovo. Kdybch tučil že mě s Benjamínem chcete takhle obalamutit nechat si napsat kódy, pak ti je jako "kamarádovi" ukázat ty si je zkopíruješ a já své prachy nikdy neuvidím.


To tak


Více tu psát nebudu, ale ICQ si ještě užijete OBA !!

Pan X (ICQ: Budry)
cistax
Profil
Nevím o čem mluvíš, s tebou jsem si nikdy nepsal, jestli te zajima, jak ten bot vypada, kdyz jsem si ho napsal sam, tak ho tu napisu, musi to byt nejake nedorozumeni.
<?php
function getURL($adresa){
 $source = file_get_contents($adresa);
 preg_match_all('#<a[^>]+href="(http:\/\/([^"]+))"[^>]*>#is',$source,$array);
 foreach($array[1] as $adresa){
 $sel = "select * from adresy where adresa ='{$adresa}'";
 $qsel = mysql_query($sel);$fetch=mysql_fetch_array($qsel);
 if(!empty($fetch)){continue;}
 $adresa = htmlspecialchars($adresa, ENT_QUOTES);
 $ins = "insert into adresy(adresa) values('$adresa')";
 $q = mysql_query($ins);
 }
}
function browse(){
for($id=1;$id<=2;$id++){
$select = "select * from adresy ";
$query = mysql_query($select);
while($row=mysql_fetch_array($query)){
getURL($row["adresa"]);
}
}
}
browse();
?>


EDIT: s panem-x jsem mluvil, slo o nedorozumeni

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0