Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odpytywanie innej strony
Forum PHP.pl > Forum > PHP
piotr485
Witam.

Mam takie pytanko, potrzebuję sprawdzić status użytkownika na innej stronie internetowej (społecznościowej - nie mojej).
Mam w swojej bazie 40tys. nicków dzięki którym mogę stworzyć adres www.jakasstronaspolecznosciowa/nick

Pobieram zawartość takiej strony do zmiennej poprzez file_get_contents(moj_link) i sprawdzam tam czy osoba jest online w sensie czy nadaje na żywo.

Teraz mam pytanka:
Odpytanie jednego użytkownika trwa jakieś 2 sek, a jak wrzucę to do pętli to będzie jakieś 22 godziny, a ja bym musiał odpytywać ich co jakieś 20sek żeby sprawdzić czy nie zmienił się ich status na live.

Nie wspominając, że zapewne zaraz mi serwer zablokują.

Czy ktoś może mnie naprowadzić jak to rozwiązać?
Musiałbym powykupować IP do tego sprawdza żeby się zmieniało za każdym razem czy jak to wygląda?

Tomplus
Bez API od serwisu społecznościowego jest to zupełnie nieopłacalne przedsięwzięcie.
Zastanów się czy jest sens sprawdzania stanu aktywności użytkowników z socialmedia.
piotr485
niestety to nie mój wymysł tylko klienta i jestem w kropce bo nie mam pojęcia jak to rozwiązać sad.gif portal nie ma api

ktoś mnie naprowadzi ? rozumiem, że musiałbym mieć kilka serwerów i kilka adresów IP ? czy jak to by się przedstawiało w praktyce, ktoś kiedyś ogarniał z was coś takiego ? smile.gif
kayman
przede wszystkim musisz mieć świadomość że bardzo łatwo będzie to zablokować

jak nawet będzie to kilka serwerów czyli kilka ip to łatwo będzie to wyłapać po samych logach, a jak ktoś ma mechanizm ułatwiający takie wyłapywanie to nie wróżę takiemu procederowi dłuższego żywota niż 24 godziny

reasumując wszystko zależy od tego jak ktoś kontroluje żądania i na ile będziesz "widoczny" dla kontrolującego

pomysł z serwerami jest nie trafiony, spokojnie można sobie poradzić nawet z tymi co używają proxy/wielu proxy
piotr485
a czy można jakoś użyć pętli żeby wykonała się ona synchronicznie - w sensie żeby odpytywanie każdej strony nie było kolejkowanie tylko jak by wysłane od razu do 40tys. stron? biggrin.gif
kayman
zobaczysz 10 z nich a na resztę to -> https://www.google.pl/webhp?sourceid=chrome...are%20u%20idiot przynajmniej u mnie na kilku portalach smile.gif
Tomplus
Może uświadom klienta że odpytywanie dużej ilości użytkowników to obniżenie wiarygodności jego serwera.
I zrób aby odpytywać na żądanie, czyli w momencie gdy użytkownik systemu kliknie "Sprawdź widzialność użytkownika portalu"
piotr485
niestety klient chce aby lista osób które nadają na żywo byli na samej górze jego spisu osób z bazy danych więc trzeba odpytywać wszystkich na bieżąco i zapisywać informację do bazy, że aktualnie ktoś nadaje

tylko nie mam pojęcia jak odpytać tak duża liczbę użytkowników na raz bo jak daje wszystkich użytkowników w pętli to jedno odpytanie jak pisałem trwa jakieś 2 sek więc nawet jak mnie nie zbanują gdy będę używał różnych serwerów proxy to nie mam pojęcia jak ich odpytać tak dużą ilość w krótkim czasie, ktoś ma jakiś pomysł ? smile.gif
Tomplus
To może warto wystosować zapytanie do tego portalu aby stworzyli plik który generuję listę aktywnych użytkowników. Chociaż jeżeli to duży portal to powinien API mieć. Nie zawsze dostęp do API jest publiczne, dopiero po zapytaniu można otrzymać klucz.
Niree
Dokładnie, API powinno być, każda społecznościówka je ma. Porównanie osób z API do osób w bazie i wywalanie ich do góry strony.
Napisz do tego portalu czy mają cokolwiek dla programistów ;-)
piotr485
Napisałem i odpisali mi że niestety na razie nic takiego nie mają, niezła lipa no nic trza będzie coś pomyśleć z proxy tylko jak wykonać 40tys odpytań przez curla w 30sek ktoś ma pojęcie? smile.gif
Tomplus
Jeżeli odpowiadają w miarę szybko, to może warto ruszyć z nimi na współpracę, aby coś takiego zrobili, udostępnili jakiś specjalny plugin, miniAPI dla projektu który tworzysz. Oczywiście zwiększy to koszt projektu, ale zysk będzie większy niż zabawa w proxy i przeciążanie serwerów.
kayman
dokładnie api > cokolwiek
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.