Postępy z Instagramem w PHP za pośrednictwem Proxy
1) url strony z publikacją ( może być zwykła publikacja https://www.instagram.com/p/CiuinbUocPa/ może być reel https://www.instagram.com/reel/CjEA_rRKbFE/ - wcześniej nie różniły się nic poza url )
2) IP i hasło logowania mobilnego proxy (socks5 z autoryzacją hasła logowania), które będą wykorzystywane do parsingu komentarzy z publikacji
3) liczbowy identyfikator Instagramu użytkownika, od którego należy uzyskać komentarz (może od użytkownika istnieje kilka komentarzy)
Albo usługa API z podobnymi funkcjami, która będzie sprawdzić, aby znaleźć wymienione informacje i udzielić odpowiedzi.W przypadku wystąpienia komentarzy pod publikacją od użytkownika z danym numerem identyfikacyjnym - na wyjściu funkcji masyw z następującymi danymi:
-Unix czas najnowszych komentarzy od tego użytkownika
- w rzeczywistości komentarz w Unicode (wcześniej cyrylica i emoji były w Unicode, więc ja dalej z nimi samodzielnie pracować, rozkładać)
- login Instagram tego użytkownika (login czasami zmieniają, przechowuję go w bazie i porównuję to, co było, z tym, co jest w tym momencie, jeśli użytkownik zmienił login - aktualizuję w bazie te dane)
Jeśli komentarz nie zostanie znaleziony - odpowiednia odpowiedź.Dla ogólnego zrozumienia, jak to działało u mnie wcześniej:
Funkcja otrzymywania strony z publikacji Instagram:
// $proxy_type -typ proxy, ale ostatnio używam tylko SOX5 z autoryzacją logowania i hasła
funkcja getinsta($url, $proxy_ip, $proxy_pass, $proxy_type) {
$chs = curl_init( )
curl_setopt($chs, CURLOPT_URL, 'https://www.instagram.com/'.$url.„/” )
$user_agent = "Mozilla/5.0 (Linux; Android 7.1.2; AFTMM Build/NS6265; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110Mobilny Safari / 537.36";
curl_setopt($chs, CURLOPT_USERAGENT, $user_agent);
if($proxy_type = 55) {
curl_setopt($chs, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); curl_setopt($chs, CURLOPT_PROXY, $proxy_ip); curl_setopt($chs, CURLOPT_PROXYUSERPWD, $proxy_pass); }
if($proxy_type == 1) { curl_setopt($chs, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); curl_setopt($chs, CURLOPT_PROXY, $proxy_ip); }
if($proxy_type == 4) { curl_setopt($chs, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4); curl_setopt($chs, CURLOPT_PROXY, $proxy_ip); }
if($proxy_type == 5) { curl_setopt($chs, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); curl_setopt($chs, CURLOPT_PROXY, $proxy_ip); }
curl_setopt ($chs, CURLOPT_HEADER, true)
curl_setopt($chs, CURLOPT_TIMEOUT, 10);
curl_setopt($chs, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($chs, CURLOPT_FOLLOWLOCATION, true)
curl_setopt($chs,CURLOPT_RETURNTRANSFER,1)
$answer = curl_exec($chs); return $answer; curl_close($chs); }
Następnie - tak jakMiałem niewielkie problemy z tworzeniem regularnych wyrazów,
// modyfikacja strony - zastąpił numerem 1537 część kodu źródłowego
$scrap_page = preg_replace('/(\",\"created_at\"\:)/', ' <1537', $getpage);
// regularka na wyszukiwanie ID Instagram użytkownika komentarz od którego szukam
$iid - ta sama liczba idy
if (preg_match_all('/(id\"\:\"[0-9]{10,25}\",\"text\"\:\")([^@ibh#]{1,9000})(\ibh1537)([0-9]{5,10})(\,\"did_report_as_spam\"\:false\,\"owner\"\:{\"id\"\:\")('.$iid.[Dziesiąt lat temu] [Dziesiąt lat temu] [Dziesiąt lat temu] [Dziesiąt lat temu] [Dziesiąt lat temu] [Dziesiąt lat temu]$scrap_page, $doarray) > 0) {
// junks czas ostatniego komentarza od użytkownika z tym idy
$time_array = $doarray['4']; $created = array_pop($time_array);
Właściwy komentarz
$text_array = $doarray['2']; $raw_comment = array_pop($text_array);
// login Instagram użytkownika z tym idy
$loginii_array = $doarray['9']; $new_ilogin = array_pop($loginii_array);
P.S . W pracy używam mobilnych proxy z wymianą iPhony, ponieważprzy skontaktowaniu się z Instagramem bez autoryzacji - po 3-4 zapytaniach zaczyna prosić o autoryzację (a autoryzację w instze nie udało mi się w swoim czasie, poszedł drogą wykorzystania dużej ilości IP do zapytania).
-
127 Nie wiem jak w tym zadaniu, ale może być ciekawe, jeśli stworzę taką aplikację na Androida z podobną funkcją.
Aktualne zlecenia dla freelancerów w kategorii PHP
Integracja bloku "Gdzie oglądać" (Laravel / Livewire)Potrzebna jest integracja zewnętrznej platformy streamingowej dla strony o filmach i serialach na Laravel / Livewire. Co należy zrobić: Zaimplementować import zewnętrznego katalogu treści, który jest aktualizowany raz dziennie. Wykonywać dopasowanie treści według IMDb ID i/lub… PHP, Programowanie stron internetowych ∙ 11 godzin 56 minut temu ∙ 22 oferty |
Dopracowanie istniejącego projektu na Laravel (PHP)Potrzebne jest dopracowanie istniejącego projektu na Laravel (PHP).\n\nProjekt obejmuje gotową panel administracyjny, który ma w sobie builder do tworzenia stron z układem (html+css+js) na kodzie php do wyświetlania danych. W projekcie należy zrealizować 2-3 strony na podstawie… Content Management Systems, PHP ∙ 15 godzin 32 minuty temu ∙ 31 ofert |
Nowy sklep na Woocommerce
8496 PLN
Szukam dewelopera do stworzenia sklepu internetowego na Woocommerce. Projekt - sklep codziennych promocji, popularne produkty w ograniczonej ilości. Co już jest: szablon wszystkich stron (witryna, realizacja zamówienia, strony treści, konto klienta), identyfikacja wizualna,… PHP, Programowanie stron internetowych ∙ 17 godzin 53 minuty temu ∙ 92 oferty |
Należy wprowadzić poprawki na stronie Modx Evolution CMS 3.1.7
82 PLN
Opracowywana jest poprawa projektu i skład strony, będzie trzeba wdrożyć te prace na stronie.Należy również wdrożyć niektóre poprawki na stronie. Układ HTML i CSS, PHP ∙ 21 godzin 58 minut temu ∙ 23 oferty |
Wdrożenie technicznego audytu SEO na OpenCartDzień dobry. Potrzebuję wprowadzić techniczne poprawki SEO na stronie softugo.com. Strona jest już opracowana, ale jeszcze nie została w pełni uruchomiona. Platforma: ocStore 3.0.2.0 / OpenCart + kod niestandardowy. Hosting: Hostinger. Aktualna wersja PHP: 7.3. (planowane… PHP, Programowanie stron internetowych ∙ 1 dzień 19 godzin temu ∙ 58 ofert |