ugrás a tartalomhoz

SimpleDOMHtml probléma

mahoo · 2013. Ápr. 5. (P), 08.21
Sziasztok, adott az alábbi rövid kód:
<?php
  include_once("simple_html_dom.php");
  $html = file_get_html("http://www.xn--cipwebruhz-x4ad26l.hu");
  echo $html->plaintext;
?>
És ezt a hibaüzenetet kapom:

Notice: Trying to get property of non-object in pro.php on line 4



Eddig bármely egyéb URL nem okozott problémát. A hiba oka szvsz az lehet, hogy túl nagy a forrás mérete, 2.5M.

Van valakinek ötlete, hogy mi lehet valójában a gond?

Valójában, ha van valami egyéb biztos megoldás a HTML oldal látható tartalmának kinyerésére, akkor az is jó lenne számomra.
 
1

Curl

Hidvégi Gábor · 2013. Ápr. 5. (P), 08.33
A Curl kiterjesztéssel próbálkoztál már? Plain text kinyeréséhez tökéletes.

A phpinfo()-ban nézd meg, hogy hány megabájt memória áll a scripted rendelkezésére, elképzelhetőnek tartom, hogy azzal lesz a gond egyébként.
3

Végre gép előtt... Szóval

mahoo · 2013. Ápr. 6. (Szo), 07.55
Végre gép előtt... Szóval megnéztem a phpinfo-t, memory limit-re 128M-át ír. Egyéb memória korláttal kapcsolatos infot nem látok.

CURL: valami biztos én csinálok rosszul, de nekem nem plain text jö vissza, hanem tag-ekkel együtt minden, itt a rövid kód amit próbáltam:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_TRANSFERTEXT, TRUE);
echo $data = curl_exec($ch);
curl_close($ch);
Tudnál segíteni, hogy mi lehet a gond?
5

strip_tags

Poetro · 2013. Ápr. 6. (Szo), 09.23
8

style, script és talán még

mahoo · 2013. Ápr. 6. (Szo), 09.33
style, script és talán még más is bent marad.
11

class DOMDocument

Pepita · 2013. Ápr. 7. (V), 12.52
Tanulmányozd ezt a (gyárilag PHP-ben lévő) osztályt a feldolgozáshoz. Ezzel darabonként ki tudod szedni a TextNode-okat, nem egy nagy string-ben látod a tartalmat. Ennek használatakor a memory_limit játszik szerepet, de 2,5M-ás HTML (v. XML) -nél figyelj futásidőt is, nehogy túl hosszú legyen. Van még a DOM XML is, de ezt nem tudom, mennyire van mindenütt jelen, én előbbivel többnyire mindent meg tudok oldani (amit ezekkel érdemes).

Egyébként eddig úgy látom nem tűnt fel másoknak, hogy a hibaüzeneted egy objektumot hiányol. Én nem ismerem ezt a "simple_html_dom.php"-t, de ha ez egy osztály, akkor az idézett kódodból hiányzik a példánya.

Szerk.: én a script / style tag-en eléggé csodálkozom, elvileg azt is ki kéne szednie (hacsak nem adtad meg allowable_tags-ben és PHP 5.x+). Nincs esetleg a HTML-ben a "<" valahogy kiügyeskedve?
12

Kiszedi

Poetro · 2013. Ápr. 7. (V), 13.02
A strip_tags ki is szedi a tag-eket, de ugye a tartalmuk ottmarad.
15

Ja, értem már

Pepita · 2013. Ápr. 7. (V), 13.57
Köszi, a megfogalmazást nem értettem jól. :)
13

...nem tűnt fel másoknak...

T.G · 2013. Ápr. 7. (V), 13.05
Egyébként eddig úgy látom nem tűnt fel másoknak, hogy a hibaüzeneted egy objektumot hiányol.

Szerintem pp a 2. hozzászólásban megoldotta a problémát, a hibaüzenet okát feltüntetve, az összes többi hozzászólás már onnantól kezdve felesleges volt. :)
14

Nem vitatkozni akartam

Pepita · 2013. Ápr. 7. (V), 13.54
sem PP-vel, sem mással. Viszont - nekem - úgy tűnt, hogy más hiba (is) van az eredeti kódban, azt jeleztem, hogy ha esetleg visszatérne arra a megoldásra, akkor vegye figyelembe ezt is. De - mint írtam is - nem ismerem a cuccost, csak a hibaüziből gondolom.
az összes többi hozzászólás már onnantól kezdve felesleges volt
Egyáltalán nem, mivel azóta egész más módszerrel próbálkozik, és sikerről még nem érkezett jeladás. Tehát ez a megjegyzésed volt felesleges. :)
16

Én így segítek.

pp · 2013. Ápr. 7. (V), 14.36
1. Letöltöttem a jelzett csomagot, létrehoztam a fenti kódot.
2. Futtattam.
3. A hiba előjött.
4. Megkerestem az okát és kijavítottam.
5. Kipróbáltam -> futott.
6. Megírtam a hozzászólásom.

Mindez 5 percembe került. Gondoltam segítettem, de látom nem. Sajnálom.

Részemről a fenti menet szokott lenni, mielőtt az észt osztom. Én ezt tartom korrektnek és szakmailag elfogadhatónak.

"Egyáltalán nem, mivel azóta egész más módszerrel próbálkozik, és sikerről még nem érkezett jeladás. Tehát ez a megjegyzésed volt felesleges. :)"

Lécci próbáld ki amit írtam, és írd le neked miért nem sikerült ezzel megoldani a problémát. Nálam hiba nélkül futott a fenti kód, a javítás után amit ajánlottam. (hisz azért ajánlottam)

pp
17

Ez kellett

Pepita · 2013. Ápr. 7. (V), 15.10
Én többnyire mobilról v. mobilnetről vagyok, tehát a fenti 6 nem 5 perc, és esetleg nincs annyi időm / türelmem a dologra, mint amennyibe kerülne. És nem osztok észt senkinek, főleg ha nem vagyok biztos a dologban. Ilyenkor ezt jelzem is, mint itt is. Viszont kibaszottul unom már, ahogy te és egy(max két) emberke próbáltok rámmagyarázni olyan dolgokat, amiket nem teszek vagy tettem. Mindezt elég sötét módon. Nekem semmi bajom veletek, nektek viszont láthatólag valami nem tetszik. Csak ezt nem meritek nyíltan felvállalni. (Pedig ráadásul személyesen illene.) Ezt tartod te korrektnek?!

Szerk: nem tudom a másik ilyen TG vagy TGR (mindkettő?) szokott-e lenni, bírom a beszédes username-eket.

Szerk2:
Lécci próbáld ki amit írtam
Lécci te meg próbáld ki, hogy ha nem baszogatlak, akkor te sem teszed. Látom, hogy marha nagy szakinak gondolod magad (egyesek szerint az is vagy, én nem ítélkezem), és azt is látom, hogy igyekszel a viszonyítási alapot lenyomni. Én viszont nem tartom magam olyan nagyra, épp ezért nem is zavarom a köreidet. Jó lenne, ha ezt végre észrevennéd (vennétek). Ha meg van valami, ami nyomja a bögyödet: nem ez a módja, írj egy privátot vagy valami. Ezt a fajta lehúzós stílust senkitől sem tűröm el, főleg nem (valószínűleg) fiatalabb csókától. Az én türelmem is véges.
18

Ez jól esett

pp · 2013. Ápr. 7. (V), 15.16
"Ezt a fajta lehúzós stílust senkitől sem tűröm el, főleg nem (valószínűleg) fiatalabb csókától."

Köszönöm!

Nem is tudom milyen rég nem neveztek "fiatalabb csókának"!

Made my day.

pp
19

Sajnálom

Pepita · 2013. Ápr. 7. (V), 15.41
Nekem is eldurrant már az agyam, lehet ez túlzás volt. 30 felett már (majdnem) mindegy. Bocs.
20

Téged? Utoljára mintha az mlf

H.Z. · 2013. Ápr. 7. (V), 17.23
Téged? Utoljára mintha az mlf listán nevezett volna így valaki. Nagyjából húsz éve... ;)
(persze szokás szerint: tévedés joga fenntartva!)
21

Palócz Pál volt az sztm.

pp · 2013. Ápr. 7. (V), 21.43
Palócz Pál volt az sztm.
2

Túl nagy az oldal, emeld a MAX_FILE_SIZE értékét.

pp · 2013. Ápr. 5. (P), 09.13
Ha megnézed az adott függvényt, akkor láthatod, hogy false értékkel tér vissza a fv, ha üres contentet kap, vagy nagyobbat mint a MAX_FILE_SIZE változó értéke, ami alapból 600000.

pp
4

Kiírattam az alábbi adatokat

mahoo · 2013. Ápr. 6. (Szo), 08.02
Kiírattam az alábbi adatokat és ezeket kaptam:

max_upload = 32
max_post = 32
memory_limit = 128
6

Szerintem félreértetted...

T.G · 2013. Ápr. 6. (Szo), 09.24
Szerintem félreértetted pp beírását, a SimpleDOMHtml kódjában van a korlátozás.
Túl nagy a beolvasott input, ezért nem elemzi, hanem false értékkel tér vissza a függvény.
7

Tényleg félreértettem,

mahoo · 2013. Ápr. 6. (Szo), 09.32
Tényleg félreértettem, köszi!!
9

yql

Hidvégi Gábor · 2013. Ápr. 6. (Szo), 09.43
10

Nem ismerem, megnézem,

mahoo · 2013. Ápr. 6. (Szo), 12.15
Nem ismerem, megnézem, köszönöm!