![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 18.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Tworzę scraper danych z użyciem phpDom i wszystko niby fajnie działa, wyciąga większość danych z html ale czasami wywala błąd:
Błąd niby znajduje się w linii 263:
Cała funkcja:
Dziwne jest to że błąd wyskakuje tylko czasami i nie mam pojęcia dlaczego. Ma ktoś jakieś pomysły ? |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Skoro wystepuje tylko czasami, to nie przyszlo ci do glowy, ze moze poprostu czasami zadne description, ktorego szukasz, nie istnieje?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 18.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Przyszło mi do głowy ale właśnie problem w tym że istnieje a mimo to wywala się błąd.
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
wg. php $description->item(0) nie istnieje. Uwierz na slowo: skoro php mowi, ze cos nie istnieje, znaczy ze nie istnieje.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 18.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
wg. php $description->item(0) nie istnieje. Uwierz na slowo: skoro php mowi, ze cos nie istnieje, znaczy ze nie istnieje. Nie bardzo rozumiem co masz na myśli? Chodzi o to że problem występuje niezależnie od tego czy descryption, którego szukam istnieje czy nie istnieje. Nawet żeby było ciekawiej to dla produktu który nie ma opisu pobierane są wszystkie pozostałe dane, a wywala się na produkcie który posiada opis i to zupełnie losowo. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
wg. php $description->item(0) nie istnieje. Uwierz na slowo: skoro php mowi, ze cos nie istnieje, znaczy ze nie istnieje.
Cytat Elementów: 3/5 key (string(3) "key" ) 0 (int(0) ) 1 (int(1) ) (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@KsaR jak to sie ma do omawianego przykladu? To ze w niektorych momentach php sie zachowuje jak sie zachowuje, to uwierz, ale nie klamie gdy probujesz sie odwolac do obiektu a jego akurat nie ma. Wiec daruj sobie takie porownania.
Poza tym twoj "przyklad" jest o kant 4 liter, a to dlatego, ze nie czytasz dokumentacji http://php.net/manual/en/language.types.array.php Cytat Floats are also cast to integers, which means that the fractional part will be truncated. E.g. the key 8.7 will actually be stored under 8. Wiec wszystko przebieglo prawidlowo. Lektura podstaw sie klania.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
@KsaR jak to sie ma do omawianego przykladu? To ze w niektorych momentach php sie zachowuje jak sie zachowuje, to uwierz, ale nie klamie gdy probujesz sie odwolac do obiektu a jego akurat nie ma. Wiec daruj sobie takie porownania. No być może jakiś magiczny przypadek.. (IMG:style_emoticons/default/biggrin.gif) Może coś z wersją php ? Różnie bywa, nie ma oprogramowania bez błędów. Jednak mam zdanie jak ty że w tym wypadku wina programisty. -- Hmm. $this->curlHandler Pokaż co masz w tej własności. Całą definicję. Bo różnie bywa. -- Edit. Ps. nospor, czytam. Dałem tylko przykład że "różnie bywa". Ten post edytował KsaR 9.09.2015, 15:54:02 |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Edit. Ps. nospor, czytam. Dałem tylko przykład że "różnie bywa". Uzywasz php niezgodnie z instrukcją i dajesz to jako przyklad ze roznie bywa? No bez jaj.... php wyraznie mowi, ze 0.1 , 0.2 i 0.3 da tak czy siak 0 wiec tu wszytko w Twoim przykladzie jest ok a nie roznie bywa.A w przykladzie co mamy, ewidetnie nie ma obiektu. Zamiast plakac na forum, niech autor da poprostu warunek na to czy jest obiekt czy nie. Skad mamy wiedziec co jest przyczyna tego, ze nagle tam nie ma obiektu, skoro dzialamy na strzepkach informacji. Tak, moze byc struktura html zepsuty, lub cos innnego - to ok, to roznie bywa. Ale nadal nie kumam jak sie ma do tego Twoj kod, gdzie to ty schrzaniles ewidetnie sprawe - to juz nie roznie bywa (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
Uzywasz php niezgodnie z instrukcją i dajesz to jako przyklad ze roznie bywa? No bez jaj.... php wyraznie mowi, ze 0.1 , 0.2 i 0.3 da tak czy siak 0 wiec tu wszytko w Twoim przykladzie jest ok a nie roznie bywa. (...) No pierwszy przykład jaki przyszedł mi do głowy co może niektórych zaskoczyć itd. jednak - https://bugs.php.net/search.php?limit=30&am...mp;bug_type=All Czasem zdarzają się Ten post edytował KsaR 9.09.2015, 16:04:51 |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To bedziesz teraz w 90% przypadkow na forum wyskakiwal z takim postem bo w php zdarzają sie bledy? Bedzie na 99% zakladal, ze to wina php a nie bezmyslnosci programisty? Bo ja niestety z przypadkow na forum widze ze to zawsze na 100% wina programisty a nie php. Tutaj na 100% jes dokladnie to samo, czyli ze jak php mowi, ze nie ma obiektu, znaczy ze go nie ma. I nie doszukuj sie tu winy php, tylko albo zlego kodu albo zlej struktury html
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
To bedziesz teraz w 90% przypadkow na forum wyskakiwal z takim postem bo w php zdarzają sie bledy? Bedzie na 99% zakladal, ze to wina php a nie bezmyslnosci programisty? Bo ja niestety z przypadkow na forum widze ze to zawsze na 100% wina programisty a nie php. Tutaj na 100% jes dokladnie to samo, czyli ze jak php mowi, ze nie ma obiektu, znaczy ze go nie ma. I nie doszukuj sie tu winy php, tylko albo zlego kodu albo zlej struktury html (IMG:style_emoticons/default/offtopic.gif) (IMG:style_emoticons/default/aaevil.gif) Pisalem przecież: Cytat(http://forum.php.pl/index.php?showtopic=244972&view=findpost&p=1170661) Jednak mam zdanie jak ty że w tym wypadku wina programisty. Dalsze posty byly tłumaczeniem się o co mniej-więcej chodziło mi -- A problem pewnie jest z $this->curlHandler, tak jak pisalem. Bo nie widac jak jest deklarowane, co przekazywane itd. Ten post edytował KsaR 9.09.2015, 16:14:27 |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat A problem pewnie jest z $this->curlHandler, tak jak pisalem. To nie problem z curlHandler, tylko z zawartoscią strony. A to dwie rozne rzeczy na tym etapie.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 18.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
OK daję cały plik importera z którym walczę. Być może gdzieś zrobiłem głupi błąd bo różnie bywa ale wydaje mi się że wszystko jest OK od strony php.
Cytat
Choć to chyba nic nie zmieni hm. -- Ja bym zrobił na twoim miejscu coś tego typu w tej metodzie co randomowe problemy:
Ten post edytował KsaR 9.09.2015, 19:24:35 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 18.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Logowanie działa poprawnie tak samo jak pobieranie zdjęcia produktu, ceny i dostępności towaru, jedynie wywala się czasami na pobieraniu opisu.
|
|
|
![]()
Post
#17
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
I dlatego poraz kolejny mowie, ze to jest problem kodu HTML strony, z ktorej pobierasz kod. Ale poraz kolejny jestem ignorowany i zawziecie sluchasz postow ksara, ktore za duzo do tematu nie wnoszą.
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 18.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
I dlatego poraz kolejny mowie, ze to jest problem kodu HTML strony, z ktorej pobierasz kod. Ale poraz kolejny jestem ignorowany i zawziecie sluchasz postow ksara, ktore za duzo do tematu nie wnoszą. Nie słucham tylko wyjaśniłem że to co proponuje nie ma nic wspólnego z opisywanem problemem. Może w takim razie zaproponuj rozwiązanie tego problemu bo ja już wymiękam, teraz sprawdziłem 2 produkty i na jednym wywaliło błąd a na drugim przeszło bez problemu (oba produkty takie same, różnią się jedynie kolorem ale opis i wszystko inne jest takie samo, kod źródłowy również jest identyczny poza nazwą koloru przedmiotu) |
|
|
![]()
Post
#19
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Zeby ci pomoc, trzeba poznac kod zrodlowy, na ktorym sie twoj kod wykrzacza. Inaczej, jak juz mowilem wielokrotnie, to wrozenie z fusów.
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 18.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 12:26 |