- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Решил найти в интернете бесплатный парсер id пользователей инстаграмма по геометке (геокоординатам, городу), но не нашел, везде платные. Решил такую простую задачу решить на php, ниже увидите код — что из этого получилось.
Для чего это нужно: есть множество программ с бесплатной версией, которые позволяют приглашать людей в подписчике из instagram по списку id, но вот за функцию парсинга по геолокации требуют деньги, а так для личных целей можно и бесплатной версией пользоваться.
php код отлично работает на phpfiddle.org
<?php
//переменные
$url_parser="https://www.instagram.com/explore/locations/123456/"; //ссылка для парсинга
$glubina_stranic="10"; //глубина парсинга, на одной странице 20 id пользователей
class instaWrapper {
static function getFeedByUrl($url) {
$source = file_get_contents($url);
if ($source == false) {
echo "Connection problem";
die();
}
$shards = explode('window._sharedData = ', $source);
$insta_json = explode(';</script>', $shards[1]);
$insta_array = json_decode($insta_json[0], TRUE);
if (isset($insta_array['entry_data']['ProfilePage']))
$nodes = $insta_array['entry_data']['ProfilePage'][0]['user']['media']['nodes'];
elseif (isset($insta_array['entry_data']['LocationsPage']))
$nodes = $insta_array['entry_data']['LocationsPage'][0]['location']['media']['nodes'];
elseif (isset($insta_array['entry_data']['TagPage']))
$nodes = $insta_array['entry_data']['TagPage'][0]['tag']['media']['nodes'];
$result=[];
foreach($nodes as $item) {
$result[]=[ "id" => $item['id'],
"code" => $item['code'],
"url" => "https://www.instagram.com/p/".$item['code'],
"timestamp" => $item['date'],
"date" => date("d.m.Y H:i:s", $item['date']),
"caption" => (isset($item['caption'])?$item['caption']:false),
"owner_id" => $item['owner']['id'],
"thumbnail_src" => $item['thumbnail_src'],
"image_src" => $item['display_src'],
"is_video" => (boolean)$item['is_video'],
"dimensions" => $item['dimensions']
];
}
return $result;
}
}
$insta_massiv = (
instaWrapper::getFeedByUrl("$url_parser")
);
for ($i = 1; $i < count($insta_massiv); $i++)
{
echo $insta_massiv[$i]['owner_id']."<br>";
$last_id_anketa = $insta_massiv[$i]['id'];
}
$x=0;
while ($x++<$glubina_stranic)
{
$insta_massiv = (
instaWrapper::getFeedByUrl("$url_parser?max_id=$last_id_anketa")
);
for ($i = 1; $i < count($insta_massiv); $i++)
{
echo $insta_massiv[$i]['owner_id']."<br>";
$last_id_anketa = $insta_massiv[$i]['id'];
}
}
?>
Источник: http://www.bubasik.com/php-parser-instagram-po-geometke/
У скрипта только 2 параметра:
- Ссылка для парсинга, её можно взять зайдя на сайт инстаграм, ввести адрес или свой город и получить ссылку в адресной строке браузера
- Глубина парсинга, число до какой страницы собирайть id пользователей.