Autor Zpráva
juraj
Profil
Zdravim

nevie niekto poradiť,alebo naznačiť aký použiť kod,ked chcem napr. z nejakej ľubovolnej domene načítať všetky odkazy do textového súboru? dakujem za navrhy ,nemám na mysli nejaké online generátory alebo programy
s pozdravom juraj
Keeehi
Profil
A co máš tedy na mysli? S HTML to nepůjde. Pokud chceš použít PHP, tak proč to není v sekci PHP?
<?php
preg_match_all('~<a .*?href="?\'?(.*?)["\'> ]~',file_get_contents("http://example.com"),$match);
file_put_contents("soubor.txt",implode("\n", $match[1]));
Tento kód načte data z href ze všech tagů <a> které se na stránce vyskytují. Pokud máš na mysli něco jiného, tak napiš co.
juraj
Profil
Keeehi:
Ďakujem,ja by som potreboval, aby všetky odkazy stiahlo,nie len tie,ktoré sa nachádzajú na hlavnej stránke, ale aj tie čo sú,stránkované, na page1,page2....
Ďakujem
juriad
Profil
pokud ti nevaďi zavolat jiný program, tak se pro rekurzivní stahování podivej na nástroj wget a přepínač -r
Keeehi
Profil
Toto řeší stránkování:
$page = 1
$headers = get_headers("http://example.com/page$page");
while($headers[0] == "HTTP/1.1 200 OK") {
    preg_match_all('~<a .*?href="?\'?(.*?)["\'> ]~',file_get_contents("http://example.com/page$page"),$match);
    file_put_contents("soubor.txt",implode("\n", $match[1]),FILE_APPEND);
    $page++;
    $headers = get_headers("http://example.com/page$page");
}
juraj
Profil
Keeehi:


nefunguje,to strankovanie vypysuje hlasku
Warning: get_headers(http://www.onlineinzercia.com/page=1) [function.get-headers]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in D
Keeehi
Profil
A zkoušel jste ji adresu http://www.onlineinzercia.com/page=1 zadat do prohlížeče? Nic tam není, tak se nedivte.
Chro
Profil
juraj:
Page je GET parametr, ne název souboru. Tudíž by měl být oddělen otazníkem.
www.domena.com/?page=3
Keeehi
Profil
Chro:
To se nedá takto obecně říct i když ve většině případů je to pravda. S použitím mod_rewrite by to hlidně mohlo být třeba ve tvaru http://www.onlineinzercia.com/1.

Obecné řešení: Projít si několik stránek, zjistit co se tam mění, celou adresu zkopírovat a na tom místě, kde se to měnilo nahradit za $page.
Chro
Profil
Keeehi:
Pravdu máš, já myslel co se týče tohoto případu. Mod rewrite nemá s ním nic společného, Řešil jsem překlep v adrese ve skriptu.
Keeehi
Profil
Chro:
To bylo spíše pro ty, kteří by řešili někdy později podobný problém, ale měli by co dočinění s nějakou seo adresou.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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