Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Katalog aukcji internetowych - możliwe?
Forum PHP.pl > Inne > Hydepark
franz87
Witam,
Czy byłoby możliwe stworzenie skryptu, który działałby na tej zasadzie, że wyszkuje produkty na znanych serwisach aukcyjnych (allegro,ebay,swistak itd.) i wyświetla posortowane (wg. kryterii użytkownika) na stronie?
Przykładowo serwis o tematyce książek. Użytkownik wpisuje w wyszukiwarce tytuł szukanej książki oraz wybiera kryteria wyszkukiwania, a skrypt przeszukuje w/w serwisy, sortuje i wyświetla wyniki na stronie.

Czy jest to możliwe? Czy duże serwisy aukcyjne udostępniają narzędzia dzięki, którym można tego dokonać?
Jeżeli nie to czy jest wg Was jest możliwość stworzenia takiego serwisu?
gitbejbe
duże serwisy internetowe udostępniają swoje API. przykład z allegro:

http://allegro.pl/webapi/general.php

jest tutaj ładnie wypunktowane co możesz robić. Tak samo szukasz dla pozostałych
franz87
Przejrzałem allegroAPI i jest tam co prawda do wyszukiwania opcja doSearch().
Z tym, że jest problem. Ja chciałbym pobierać wszystkie produkty z allegro do swojej bazy i aktualizować co jakiś czas (np.10-15min)
AllegroAPI pozwala pobrać produkty, ale nie 'aktualizować'.
Czyli jedynym wyjściem, które widze to każdorazowe pobieranie produktów.
A to chyba nie wchodzi w grę, dla próby pobrałem 10.000 aukcji i zajęło to 136sekund.

Docelowo chciałbym pobierać z samych allegro (.pl .cz .sk .ua .by .ro .bg .sr .kz .ru) około 1mln wyników.


Jakieś sugestie?
in5ane
Jest sugestia. Duuuża maszyna. Kilka/kilkanaście różnych workerów pracujących na raz. Każdy worker pobiera właśnie np. po 10000 aukcji. No i jak pobierasz, to sprawdzasz, czy masz już w bazie taką aukcje i jak jest, to następny (z tym, że oznacz, że był pobrany, np. aktualizuj ostatnią datę aktualizacji), a jak nie ma, to dodajesz nowy rekord. Do tego np. dodatkowy program, który sprawdza ostatnią aktualizację aukcji. Np. jak nie ma aktualizacji w ciągu ostatniej godziny, to aukcja już nie istnieje. Coś w ten deseń możesz kombinować. Nie mam dużego doświadczenia z API Allegro, ale nasuwają mi się pytanie. Czy Allegro ma limity? Godzinowe? Dobowe? I drugie pytanie, czy na jednym API może kilka/kilkanaście połączeń na raz pobierających wszystkie aukcje.

Ostatnio pisałem coś podobnego, tzn. na podobnej zasadzie to działało. A dokładniej pisałem aplikację (która działa wielowątkowo) w Go, która łączy się przez IMAP ze skrzynkami i zczytuje nieprzeczytane e-maile, następnie je oznacza jako przeczytane. Z każdą skrzynką mam połączenie co 1 minutę. Aplikacja stoi stabilnie ponad miesiąc. Google żadnego bana nie wręczył za tak częste połączenia, więc nie martwię się już niczym. Inne skrzynki są mniej restrykcyjne od Google'a wydaje mi się.

Kombinuj smile.gif


@edit: Możesz robić osobne worker'y albo aplikację wielowątkową. Ponadto od razu możesz PHP skreślić z listy języków, w których można to napisać. Najlepiej w C++, nodejs lub Go. Ewentualnie, jak stać Cię na naprawdę drogie maszyny to mogę jeszcze polecić C# - ale cenę będzie robić zaintalowany Windows...
dysgraphic
Zobacz sobie serwis camelcamelcamel.com to jest tracker cen na Amazon. Mozesz śledzic konkretne produkty i zmiany ich cen w poszczególnych okresach. Takie rozwiązanie dla Allegro tez byłoby calkiem przydatne.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.