Бюджет: 5000 UAH Срок: 5 дней
Не знаю как в этой задаче, но возможно будет интересно, если я изготовлю подобное приложение под андройд с аналогичным функционалом.
Вартість проекту вказав приблизно. Якщо ви готові це зробити (або принаймі спробувати зробити) -чекаю на ваші пропозиції. Мобільні проксі на перевірку / тестування - в наявності.
Суть - в наличии телеграм бот, который выдаёт пользователям задание на комментарирование публикаций инстаграм и затем - проверяет выполнение задания (по дополнительной команде от пользователя-исполнителя).
Раньше (до августа 2022 года) всё прекрасно работало, но потом инстаграм чёт изменил и насколько я понимаю данные по комментариям подтягиваются в процессе загрузки страницы.
Задача - сделать функцию на php (желательно 5.6, если никак то php 7.xx) с такими параметрами на входе:
1) урл страницы с публикацией ( может быть обычная публикация https://www.instagram.com/p/CiuinbUocPa/ может быть reel https://www.instagram.com/reel/CjEA_rRKbFE/ - раньше они ничем кроме урл не отличались )
2) ip и логин-пароль мобильной прокси (socks5 с авторизацией по логину паролю), которая будет использоваться для парсинга комментариев из публикации
3) числовой инстаграм id пользователя, комментарии от которого необходимо получить (возможно от пользователя там есть несколько комментариев)
Або сервіс api з аналогічними функціями, що буде перевіряти наявніть вказаної інформації и віддавати відповідь.
В случае наличия комментариев под публикацией от пользователя с указанным числовым id - на выходе функции массив с такими данными:
-юникс время самого свежего комментария от данного пользователя
- собственно комментарий в юникоде (раньше кириллица и эмодзи отдавались в юникоде, ну я с ними дальше самостоятельно работаю, раскодирую)
- логин инстаграм этого пользователя (логин они иногда меняют, я его храню в базе и сравниваю тот что был, с тем, что есть в данный момент времени, если пользователь поменял логин - обновляю у себя в базе эти данные)
Если комментарий не найден -соответствующий ответ.
Для общего понимания, как оно работало у меня раньше:
функция получения страницы с инстаграм публикацией:
// $proxy_type -тип прокси, но в последнее время использую только сокс5 с авторизацией по логину и паролю
function 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.110 Mobile 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); }
// далее - т.к. у меня были небольшие проблемы с составлением регулярных выражений,
// модификация страницы - заменял на число 1537 часть исходного кода
$scrap_page = preg_replace('/(\",\"created_at\"\:)/', '|1537', $getpage);
// регулярка на поиск id инстаграм пользователя комментарии от которого ищу
// переменная $iid - тот самый числовой айди
if (preg_match_all('/(id\"\:\"[0-9]{10,25}\",\"text\"\:\")([^@|#]{1,9000})(\|1537)([0-9]{5,10})(\,\"did_report_as_spam\"\:false\,\"owner\"\:{\"id\"\:\")('.$iid.')([^@]{1,500})(username\"\:\")([a-z_.0-9]{1,30})/', $scrap_page, $doarray) > 0) {
// юникс время последнего комментария от пользователя с этим айди
$time_array = $doarray['4']; $created = array_pop($time_array);
// собственно сам комментарий
$text_array = $doarray['2']; $raw_comment = array_pop($text_array);
// логин инстаграм пользователя с этим айди
$loginii_array = $doarray['9']; $new_ilogin = array_pop($loginii_array);
}
P.S. В работе использую мобильные прокси со сменой айпи, т.к. при обращении к инстаграм без авторизации - он через 3-4 запроса начинает просить авторизацию (а авторизацию в инсте я сделать в своё время не сумел, пошёл по пути использования большого количества ip для запросов).
Бюджет: 5000 UAH Срок: 5 дней
Не знаю как в этой задаче, но возможно будет интересно, если я изготовлю подобное приложение под андройд с аналогичным функционалом.
CMS 32 ставки 2 августа
Создание сайта под ключ 58 ставок 30 июля
Десктопные приложения 66 ставок 28 июля
28 ставок 28 июля
10 ставок 26 июля