Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Kategorie na Allegro
apollos
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.07.2012

Ostrzeżenie: (0%)
-----


Witam! Postanowiłem założyć wątek, bo szczerze mówiąc pomysły mi się wyczerpały. Otóż potrzebuję napisać skrypt, który pobiera kategorie z Allegro, a następnie wyświetla je. Pobierać pobieram przy użyciu file_get_contents, no a następnie pasuje je wyszukać zapewne przy pomocy preg_match. Problem w tym, że za bardzo nie wiem jak to ugryźć. Generalnie kategorie umiejscowione w kodzie HTML są następująco:
  1. <a href="/antyki-i-sztuka" class="alleLink lvl0"><span>Antyki i Sztuka</span></a>

Kolejne podkategorie są identycznie, różni się tylko cyfra w klasie:
  1. <a href="/antyki-bizuteria-62218" class="alleLink lvl2"><span>Biżuteria</span></a>

Tak więc trzeba to wyjąć wyrażeniem regularnym. Czy powinienem brać się tylko za nazwę kategorii czy to co jest w adresie też? I jak najłatwiej byłoby rozróżnić kategorię od podkategorii?

Ten post edytował apollos 11.07.2012, 12:04:50
Go to the top of the page
+Quote Post
mls
post
Post #2





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


http://allegro.pl/webapi/ - jedyna legalna i niezależna od zmian w układzie stron serwisu droga do uzyskania danych które potrzebujesz...
Go to the top of the page
+Quote Post
apollos
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.07.2012

Ostrzeżenie: (0%)
-----


Wiem o istnieniu API, ale niestety mam to na "zadanie" i muszę wykonać to samemu.
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #4





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat(mls @ 11.07.2012, 13:13:58 ) *
http://allegro.pl/webapi/ - jedyna legalna i niezależna od zmian w układzie stron serwisu droga do uzyskania danych które potrzebujesz...

A co jest nielegalnego w spisaniu kategorii taką czy inną metodą?

Upewnij się czy na pewno nie możesz skorzystać z API - to też nie jest wcale trywialne (IMG:style_emoticons/default/smile.gif) Jeśli nie możesz, to zamiast wyrażeń regularnych zainteresuj się PHP DOM. Jest to znacznie wygodniejszy sposób na krążenie po kodzie HTML strony niż wyrażenia regularne i nie tak narażony na błędy.
Go to the top of the page
+Quote Post
apollos
post
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.07.2012

Ostrzeżenie: (0%)
-----


Niestety, API odpada.
Go to the top of the page
+Quote Post
krzywy36
post
Post #6





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

Ostrzeżenie: (0%)
-----


Podaj konkretnie strone z której chcesz to pobierać, bo chyba na każdej podstronie wygląda to inaczej. Z strony głównej same nazwy kategori możesz wyciągnąć tak:
  1. $source = file_get_contents('http://allegro.pl');
  2.  
  3. preg_match_all('|<li><h2><a.*?>(.*)</a></h2></li>|', $source, $matches);
  4.  
  5. print_r($matches[1]);
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #7





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


A kolega o DOM nie słyszał? (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
apollos
post
Post #8





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.07.2012

Ostrzeżenie: (0%)
-----


Cytat(krzywy36 @ 11.07.2012, 14:54:00 ) *
Podaj konkretnie strone z której chcesz to pobierać, bo chyba na każdej podstronie wygląda to inaczej. Z strony głównej same nazwy kategori możesz wyciągnąć tak:
  1. $source = file_get_contents('http://allegro.pl');
  2.  
  3. preg_match_all('|<li><h2><a.*?>(.*)</a></h2></li>|', $source, $matches);
  4.  
  5. print_r($matches[1]);

http://allegro.pl/category_map.php

Cytat(SmokAnalog @ 11.07.2012, 15:03:09 ) *
A kolega o DOM nie słyszał? (IMG:style_emoticons/default/smile.gif)
Coś więcej na ten temat?
Go to the top of the page
+Quote Post
Lorum3
post
Post #9





Grupa: Zarejestrowani
Postów: 86
Pomógł: 5
Dołączył: 10.12.2011
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat(apollos @ 11.07.2012, 14:18:03 ) *
Niestety, API odpada.


Niestety API odpada, bo nie umiem się nim posługiwać.

Lepiej pisz konkretnie, a nie skrótami, poniżej masz jak byk wszystko opisane.

http://allegro.pl/webapi/documentation.php/theme/id,43

Ten post edytował Lorum3 11.07.2012, 14:24:01
Go to the top of the page
+Quote Post
apollos
post
Post #10





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.07.2012

Ostrzeżenie: (0%)
-----


Cytat(Lorum3 @ 11.07.2012, 15:22:46 ) *
Niestety API odpada, bo nie umiem się nim posługiwać.

Lepiej pisz konkretnie, a nie skrótami, poniżej masz jak byk wszystko opisane.

http://allegro.pl/webapi/documentation.php/theme/id,43

Przecież napisałem, że to nie jest mój wymysł, prawda?
Cytat(apollos @ 11.07.2012, 13:17:17 ) *
Wiem o istnieniu API, ale niestety mam to na "zadanie" i muszę wykonać to samemu.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 16:59