Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Kategorie na Allegro
apollos
post 11.07.2012, 12:04:24
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
 
Start new topic
Odpowiedzi (1 - 9)
mls
post 11.07.2012, 12:13:58
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 11.07.2012, 12:17:17
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 11.07.2012, 12:24:11
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 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 11.07.2012, 13:18:03
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 11.07.2012, 13:54:00
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]);


--------------------
pretty as a shit.
Go to the top of the page
+Quote Post
SmokAnalog
post 11.07.2012, 14:03:09
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ł? smile.gif
Go to the top of the page
+Quote Post
apollos
post 11.07.2012, 14:15:21
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ł? smile.gif
Coś więcej na ten temat?
Go to the top of the page
+Quote Post
Lorum3
post 11.07.2012, 14:22:46
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 11.07.2012, 14:25:08
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 06:35