Autor Zpráva
Sirius
Profil
Zdravím a pozdravuji,
potřeboval bych uložit do své DB informace asi k 300 filmům, což je na manuální zadávání docela dost. Všechny potřebné údaje jsou dostupné na CSFD.cz. Bohužel odkazovat na CSFD nestačí (ale odkaz tam bude také), potřebuju krátký popis těch filmů přímo na webu, včetně obrázku, žánru a roku vydání. Je nějaká možnost jak načíst vybranou stránku a pak ji například rozsekat podle určitých částí kódu? Nevím hlavně jak na tu první část a jestli je to vůbec možné. Opravdu hodně by mi to pomohlo.
mckay
Profil
Sirius:
Kdyby ti nevadilo manuálně zadat všechny stránky, ze kterých potřebuješ ty data, teoreticky by to šlo
file_get_contents("http://csfd.cz"); #ti ziska zdrojovy kod stranky


Ty si teď musíš prohlédnout zdroják u těch filmů a zjistit si, jaký specifický znak (třeba tag, nebo obrázek), se vyskytuje v blízkosti popisu, pomocí např.
<?php explode(); ?>
se dostat až k němu, nebo pomocí
<?php preg_match();?>
si vybrat jen to, co je mezi znaky, ve kterých je popis filmu uzavřen
Sirius
Profil
mckay:
file_get_contents("http://csfd.cz");
Jestli tohle funguje, tak je to super. Tu funkci jsem nikdy v praxi nepoužil (asi proto jsem si na ni nemohl vzpomenout). Bojim se jenom toho, že nepůjde načíst soubor z jiný domény.

Na zdroják jsem se koukal už před dotazem, trochu jsem se lekl toho co tam mají, ale mělo by to jít celkem jednoduše, mají tam interní styly. Raději každý film vyhledat a uložit odkaz, než kopírovat všechny potřebné údaje a ručně je zapisovat do DB. Nehledě na to, že načíst stránku a počkat než skript všechno udělá za vás je skvělej pocit. :)

Díky, jdu to vyzkoušet

Edit: Tak webzdarma to má bloklý, na IC to běží. Povedlo se mi nasekat z toho kódu vše co potřebuju. Kdyby někdo přišel na lepší způsob, než vyhledávat přímo stránky všech filmů a ukládat do DB, tak budu jedině rád. :) Díky za pomoc.
Sirius
Profil
Narazil jsem na menší problém. Co když je převzatý text v jiném kódování? Dá se nějak upravit? Mám to rozsypané.
keeehi
Profil
Na překódování můžeš použít funkci iconv.
$vystup = iconv("iso-8859-2","utf-8",$vstupni_text);
Sirius
Profil
keeehi:
Díky, tu jsem vůbec neznal.
Thalia
Profil
Sirius:
Tak webzdarma to má bloklý
...ale lze to povolit v .htaccess.
Sirius
Profil
Thalia:
Aha, v htaccess umím tak maximálně bloknout IP (a myslim, že se tam píšou odkazy na chybový stránky). :) Kdyžtak si to dohledám, ale pro nacpání dat do DB mi je jedno kde to spustím, vlastně mi to mohlo běžet klidně na lokálu.. Díky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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