Načtení dat z jiné URL - zpracování - uložení do DB – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Načtení dat z jiné URL - zpracování - uložení do DB – PHP – Fórum – Programujte.comNačtení dat z jiné URL - zpracování - uložení do DB – PHP – Fórum – Programujte.com

 

Undy
~ Anonymní uživatel
4 příspěvky
25. 4. 2009   #1
-
0
-

Chtěl bych poprosit někoho z vás o pomoc se scriptem, který umožní stažení dat z adresy, rozseká stránku, části uloží do pole a pak jednotlivé položky pole uloží do DB.

Příklad:

adresa http://www.zbozi.cz/?q=Electrolux+EWT+10110+W+&maxStockAvailability=-1&atDepotOnlyFlag=0&stars=-1&order=cheapest&minPrice=&maxPrice=/

1) vnoření stránky do php, zřejmě pomocí
$cela_stranka = file_get_contents("http://www.zbozi.cz/?q=Electrolux+EWT+10110+W+&maxStockAvailability=-1&atDepotOnlyFlag=0&stars=-1&order=cheapest&minPrice=&maxPrice=/");
2) rozsekání stránky - zřejmě pomoci "<td class="limiter">"
3) projít pole položkách a aplice regulérních výrazů tak, abych vyčlenily pouze - název zboží - cenu - název shopu
4) uložení do DB

Bohužel jsem se zasekl hned po prvním bodě a nevím si rady jak pokračovat dál neboť mi to hlásí pořád chyby. Díky předem za rady.

Nahlásit jako SPAM
IP: 194.228.84.–
JannBaill0
Návštěvník
25. 4. 2009   #2
-
0
-

Jaké chyby? ;)

Nahlásit jako SPAM
IP: 88.100.115.–
Undy
~ Anonymní uživatel
4 příspěvky
25. 4. 2009   #3
-
0
-

no popravdě nevím jak dál, jak rozparserovat či rozsekat části (zda použít substr a strpos či preg_match). Hledal jsem na internetu růžné příklady, snažil jsem se to převést do svého požadavku, ale vzhledem k problémům se syntaxi mi to nikdy nefungovalo. V PHP jsem spíše začátečník a s těmito složitějšími funkcemi nemám zkušenost

Po rozsekání na části se zřejmě musí použít regulární výrazy, které by měly mít takovou nějakou formu:

<td class="title"><h2>(.*)</h2> // obsahuje nazev zbozi
<p class="price"><strong>([ 0-9]*),-</strong> // obsahuje cenu
<td class="company"><p class="h3">(.*)</p><p class="stars"> // obsahuje nazev shopu

nakonec uložení do DB to už bych měl zvládnout...

Nahlásit jako SPAM
IP: 194.228.84.–
survik1
~ Moderátor
0
Posthunter
25. 4. 2009   #4
-
0
-

Nevím, kde si se zasekl přesně, proto:
knihovna http_lib (nepamatuji si odkaz na manuál, na googlu hledej funkci http_get())

Edit: pochopil jsem dotaz =)

Nahlásit jako SPAM
IP: 89.102.156.–
Život je jen hra, která se nedá vyhrát.
Undy
~ Anonymní uživatel
4 příspěvky
25. 4. 2009   #5
-
0
-

To survik1 :
no to jste mi toho tedy moc neporadil. Chtěl bych poradit zejmena se syntaxi tohoto ukolu. Tzn. vím jak to asi udělat, ale neumím to napsat.

Nahlásit jako SPAM
IP: 194.228.84.–
survik1
~ Moderátor
0
Posthunter
25. 4. 2009   #6
-
0
-

To Undy : Nuže, buď konkrétnější. Co potřebuješ teď v tuto chvíli?

Nahlásit jako SPAM
IP: 89.102.156.–
Život je jen hra, která se nedá vyhrát.
Undy
~ Anonymní uživatel
4 příspěvky
25. 4. 2009   #7
-
0
-

To survik1 :
Jak jsem psal, umím vložit url data do stránky pomocí file_get_contents("http://www.adresa/");
a teď nevím jak to rozsekat, použít regulérní výrazy na vysosání pouze 3 hodnot - název výrobku, cenu, shopu
a pak uložení..

Nahlásit jako SPAM
IP: 194.228.84.–
marioff0
Expert
25. 4. 2009   #8
-
0
-

pouzi napr. 3x preg_match, alebo eregi ... vidim ze reg.vyraz si vies napisat... ale najst vhodnu funkciu nie.. :smile19:

preg_match("'<td class=\"title\"><h2>(.*)</h2>'i", $obsahzurl, $vysledok);


zhoda bude v $vysledok[1]

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 53 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý