Приватный парсинг телефонов и email-ов из Instagram на запросах

  • Автор темы Автор темы melutsk
  • Дата начала Дата начала

melutsk

Client
Регистрация
03.08.2016
Сообщения
1 358
Реакции
1 260
Баллы
113
2w8yTxV.jpg
 
Номер конкурса статей
  1. Пятнадцатый конкурс статей
Тема статьи
  1. Соц. сети
  2. Парсинг
Всем привет. Меня зовут Денис и я уже давно занимаюсь инстой v 2.0. Рад представить на обсуждение полезную тему по парсингу приватных контактных данных с Instagram.

Все, наверное, знают, что ест куча парсеров контактов из Instagram - 99% их работает через веб и парсят Имя+описание к аккаунту. Конечно, такой способ парсинга контактов под рассылки или другие задачи неплохой, но обычно этим почти все занимаются и выхлоп с таких контактов не всегда тот, который ожидаешь. Другое дело, это почта и имейл, которые указаны в самом аккаунте, как привязаные. Об этом способе я и попробую рассказать.

Многие видели, что в мобильном приложении при переходе в аккаунт есть кнопка Контакт, которую, если нажать, выдается мобильный номер и/или почтовый ящик. Это совсем не те данные, которые можно просмотреть в вебе, обычно, и их через веб спарсить НЕЛЬЗЯ. Вот мы эти контакты и будем парсить. Мы будем снифать сам Instagram в мобильной версии на предмет этих контактов.

Так как работа будет происходить через мобильное приложение - нам нужен мобильный телефон/виртуалка и само приложение. Да, в приложении надо выключать ssl сертификат, это вопрос отдельной статьи, поэтому я пошел путем попроще. На гите есть уже отломанная apk, которую можно использовать - https://github.com/itsMoji/Instagram_SSL_Pinning На текущий момент актуальная версия API, которая отломаная 187.0.0.32.120. Нам нужен Non-Root Method (Recommended).

1. Качаем уже отломаную APK, а конкретно patched APK здесь https://github.com/itsMoji/Instagram_SSL_Pinning/tree/master/non-root/x86

2. Потом качаем Genymotion здесь https://www.genymotion.com/ и VirtualBox, если он не установлен.

3. После этого ставим одну виртуалку, важно ставить на 9 Android API, на 10 у меня она очень глючит.

77529


4. Ставим Instagram APK в виртуальную машину эту

77530


5. Запускаем APK 1 раз - оптимально попробовать вбить какието данные под логин и пароль, можно 1 и 1, и подождать секунд 10

6. Качаем BURP для снифинга. Важно качать 1 версию Burp, вторым не можно будет отснифать приложение, я качал отсюда версию 1.7.36 https://portswigger.net/burp/releases/download?product=community&version=1.7.36&type=Jar - не забудьте переименовать в файл burpsuite_community.jar

7. Ставим Java - Windows В автономном режиме (64-разрядная версия) https://www.java.com/ru/download/manual.jsp

8. Закидываем Burp JAR файл в папку с Java - /bin/java, типа сюда C:\Program Files\Java\jdk-11.0.5\bin

9. Через cmd запускаем Burp - коммандами

cd C:\Program Files\Java\jdk-11.0.5\bin
java -jar burpsuite_community.jar

77531


10. Проходим все пути и выключаем Intercept, а именно Proxy >> Intercept >> нажать на кнопку Intercept in on (должна стать off)

77532


11. Включаем Burp как прокси - Proxy >> Options >> Edit >> All interfaces (смотрим и запоминаем, какие там локальные IP предлагает BURP и запоминаем их)

77533


12. На этой же вкладке для установки сертификата на нашу виртуальную машину его экспортируем Import/Export certificate >> Export >> Certificate in DER format и сохраняем его у себя гдето с расширением crt

77534


13. Идем в виртуалку - ВАЖНО закрыть приложение Instagram, которое было открыто

14. Перетаскиваем сертификат в виртуалку и устанавливаем его

77536


15. Устанавливаем прокси в виртуалке (ip и порт ставим из пункта 11)

77537


16. Теперь нужно зайти под любым своим инстаграм аккаунтом, пройти вручную чекпоинты, если они будут и зайти в поиск и набрать любую бизнесс тематику, например - маникюр Москва и перейти в аккаунт. Надо чтобы в аккаунте была кнопка Contact.

77538


При этом в самом Burp будет примерно такой запрос

77541


в ответе к которому и будут данные, что нам нужны contact_phone_number и public_email.

Код:
Развернуть Свернуть Копировать
{"user":{"pk":5530817939,"username":"izzo.studio","full_name":"МАНИКЮР ⋆ МОСКВА ⋆ АРБАТ","is_private":false,"profile_pic_url":"https://instagram.fdnk1-2.fna.fbcdn.net/v/t51.2885-19/s150x150/90868856_2674990936076951_3818198919389642752_n.jpg?tp=1\u0026_nc_ht=instagram.fdnk1-2.fna.fbcdn.net\u0026_nc_ohc=6ibDV3HQXMMAX9ddoWS\u0026edm=AEF8tYYBAAAA\u0026ccb=7-4\u0026oh=b8b9805be8d4bec33dcceb6aa4692237\u0026oe=60B18763\u0026_nc_sid=a9513d","profile_pic_id":"2271124161737277298_5530817939","is_verified":false,"has_anonymous_profile_picture":false,"media_count":232,"geo_media_count":0,"follower_count":9361,"following_count":444,"following_tag_count":0,"biography":"Стань на маникюр счастливее\n▫воплотим любую идею\n▫реально стерильно\n▫трендовый дизайн и топ-цвета\nдемократичные цены \nблизко к метро\nЖмите","biography_with_entities":{"raw_text":"Стань на маникюр счастливее\n▫воплотим любую идею\n▫реально стерильно\n▫трендовый дизайн и топ-цвета\nдемократичные цены \nблизко к метро\nЖмите","entities":[]},"biography_product_mentions":[],"external_url":"https://taplink.cc/izzo.studio","external_lynx_url":"https://l.instagram.com/?u=https%3A%2F%2Ftaplink.cc%2Fizzo.studio\u0026e=ATMaEiRBkKJKeZTo88iGJ2sQLfAK8ImEG3NNaJA7tNGCk5BQklQDr5IcWChOc-9T14HJ-G2PQC6nh5FVwlZB2K4\u0026s=1","has_biography_translation":true,"total_igtv_videos":0,"has_videos":true,"total_ar_effects":0,"usertags_count":49,"is_favorite":false,"is_favorite_for_stories":false,"is_favorite_for_igtv":false,"is_favorite_for_clips":false,"is_favorite_for_highlights":false,"live_subscription_status":"default","is_interest_account":true,"has_chaining":true,"hd_profile_pic_versions":[{"width":320,"height":320,"url":"https://instagram.fdnk1-2.fna.fbcdn.net/v/t51.2885-19/s320x320/90868856_2674990936076951_3818198919389642752_n.jpg?tp=1\u0026_nc_ht=instagram.fdnk1-2.fna.fbcdn.net\u0026_nc_ohc=6ibDV3HQXMMAX9ddoWS\u0026edm=AEF8tYYBAAAA\u0026ccb=7-4\u0026oh=23d06558640d4b1e6fc4604b4ebd6610\u0026oe=60B2475B\u0026_nc_sid=a9513d"},{"width":640,"height":640,"url":"https://instagram.fdnk1-2.fna.fbcdn.net/v/t51.2885-19/s640x640/90868856_2674990936076951_3818198919389642752_n.jpg?tp=1\u0026_nc_ht=instagram.fdnk1-2.fna.fbcdn.net\u0026_nc_ohc=6ibDV3HQXMMAX9ddoWS\u0026edm=AEF8tYYBAAAA\u0026ccb=7-4\u0026oh=36d92ca54e7e5876afd8a07cda182179\u0026oe=60B245A2\u0026_nc_sid=a9513d"}],"hd_profile_pic_url_info":{"url":"https://instagram.fdnk1-2.fna.fbcdn.net/v/t51.2885-19/90868856_2674990936076951_3818198919389642752_n.jpg?_nc_ht=instagram.fdnk1-2.fna.fbcdn.net\u0026_nc_ohc=6ibDV3HQXMMAX9ddoWS\u0026edm=AEF8tYYBAAAA\u0026ccb=7-4\u0026oh=930a8e29566098f654d5adb15279ec3c\u0026oe=60B25E1B\u0026_nc_sid=a9513d","width":1080,"height":1080},"mutual_followers_count":0,"has_highlight_reels":true,"has_guides":false,"show_shoppable_feed":false,"shoppable_posts_count":0,"can_be_reported_as_fraud":false,"merchant_checkout_style":"none","seller_shoppable_feed_type":"none","num_visible_storefront_products":0,"storefront_attribution_username":null,"creator_shopping_info":{"linked_merchant_accounts":[]},"is_eligible_for_smb_support_flow":true,"displayed_action_button_partner":null,"smb_delivery_partner":null,"smb_support_delivery_partner":null,"displayed_action_button_type":"","direct_messaging":"UNKNOWN","fb_page_call_to_action_id":"","address_street":"Nikitsky Boulevard, 12","business_contact_method":"CALL","category":"Health/Beauty","city_id":115085015172389,"city_name":"Moscow, Russia","contact_phone_number":"+79670521085","is_call_to_action_enabled":false,"latitude":55.75561,"longitude":37.60052,"public_email":"izzo.info@mail.ru","public_phone_country_code":"7","public_phone_number":"9670521085","zip":"","instagram_location_id":"","is_business":true,"account_type":2,"professional_conversion_suggested_account_type":3,"can_hide_category":true,"can_hide_public_contacts":true,"should_show_category":true,"should_show_public_contacts":true,"is_facebook_onboarded_charity":false,"has_active_charity_business_profile_fundraiser":false,"charity_profile_fundraiser_info":{"pk":5530817939,"is_facebook_onboarded_charity":false,"has_active_fundraiser":false,"consumption_sheet_config":{"can_viewer_donate":false,"currency":null,"donation_url":null,"privacy_disclaimer":null,"donation_disabled_message":"We're having trouble connecting right now. Please try your donation another time.","donation_amount_config":{"donation_amount_selector_values":[],"default_selected_donation_value":null,"minimum_donation_amount":null,"maximum_donation_amount":null,"prefill_amount":null,"user_currency":null},"you_donated_message":null,"profile_fundraiser_id":null,"has_viewer_donated":null}},"standalone_fundraiser_info":{"has_active_fundraiser":false,"fundraiser_id":null,"fundraiser_title":null,"fundraiser_type":null,"formatted_goal_amount":null,"beneficiary_username":null,"formatted_fundraiser_progress_info_text":null,"percent_raised":null},"account_badges":[],"whatsapp_number":"","pronouns":[],"include_direct_blacklist_status":true,"is_potential_business":true,"show_post_insights_entry_point":true,"request_contact_enabled":false,"is_bestie":false,"has_unseen_besties_media":false,"show_account_transparency_details":true,"auto_expand_chaining":false,"highlight_reshare_disabled":false,"is_memorialized":false,"open_external_url_with_in_app_browser":true},"status":"ok"}

Безусловно, там есть и другие данные, как имя, описание к аккаунту и прочему, их тоже можно парсить, если нужно, да и лимиты на такой парсинг намного вкуснее, если парсить через веб.

Сам запрос выглядит вот так примерно, данные, которые не обязательны я не отправляю

Код:
Развернуть Свернуть Копировать
GET /api/v1/users/5530817939/info/?from_module=blended_search HTTP/1.1
X-IG-App-Locale: en_US
X-IG-Device-Locale: en_US
X-IG-Mapped-Locale: en_US
X-Pigeon-Session-Id: 25047c51-229d-4de6-a809-74e043907c50
X-IG-Bandwidth-Speed-KBPS: -1.000
X-IG-Bandwidth-TotalBytes-B: 0
X-IG-Bandwidth-TotalTime-MS: 0
X-Bloks-Version-Id: e097ac2261d546784637b3df264aa3275cb6281d706d91484f43c207d6661931
X-Bloks-Is-Layout-RTL: false
X-Bloks-Is-Panorama-Enabled: true
X-IG-Device-ID: d45cfacf-9663-4c8d-ab6e-604aafeda5ab
X-IG-Family-Device-ID: c83e6188-2160-4550-975a-ecab5f066e81
X-IG-Android-ID: android-bef52164389dac67
X-IG-Timezone-Offset: -14400
X-IG-Connection-Type: WIFI
X-IG-Capabilities: 3brTvx0=
X-IG-App-ID: 567067343352427
User-Agent: Instagram 187.0.0.32.120 Android (28/9; 560dpi; 1440x2872; Genymotion/Android; Samsung Galaxy S10; vbox86p; vbox86; en_US; 289692202)
Accept-Language: en-US
Cookie: mid=YKtxZAABAAGeWNltqXIQ43V_9zDI; sessionid=47728498568%3AhiKB7gCuIeSVq7%3A28; csrftoken=aNZTtwXXvcOYr3R0QfAwR05JuaD8Kj4b; rur=PRN; ds_user_id=47728498568
Authorization: Bearer
X-MID: YKtxZAABAAGeWNltqXIQ43V_9zDI
IG-U-DS-USER-ID: 47728498568
IG-U-RUR: PRN
IG-INTENDED-USER-ID: 47728498568
Accept-Encoding: gzip, deflate
Host: i.instagram.com
X-FB-HTTP-Engine: Liger
X-FB-Client-IP: True
X-FB-Server-Cluster: True
Connection: close

Вот запрос этот мы и будем эмулировать, чтобы получить данные с аккаунтов. Для массовой работы лучше покупать аккаунты с куками в формате Инстамен, на всем известном сайте - в личке и здесь просьба не спрашивать какой, не дам, ищите в поиске. Да и рекомендовать какойто магазин - это так себе затея. Ну и еще одним из минусов такого парсинга есть то, что такие контакты только в бизнесс аккаунтах есть, в простых аккаунтах - нет. Но при правильной работе и прямых руках, это очень ценный парсинг под свою базу. Для парсинга я использовал https://rsocks.net/ по-моему самые лучшие прокси на данный момент. Конвертировать логины в id можно любым софтом, который есть на вооружении, каждый из них имеет такой функционал. Сегодня до конца дня залью видео с подробным мануалом, как это все делать.

Также приглашаю всех в группу по интересам - ламповую, по зеннопостеру и заработку на нем

77528
 
Последнее редактирование:
Insta_parse.rar - Парсер контактов через мобильную версию (Mobile API Instagram) - email+phone
1. accs.txt - сюда закидывайте аккаунты в формате instaman, например

michaelwilson8114:11jjO5Am|Instagram 188.0.0.35.124 Android (23/6.0; 480dpi; 720x1280; ZTE; Z828; achill; qcom; fy_NL; 292080163)|android-23417027fa70fcb8;fa5cb767-8560-49d0-a5ef-a5500c380e7a;7d30598b-7133-4842-8d13-bdedcba9e50b;d39f7f04-ac8b-474d-ae1b-f9162a6e3fb8|mid=YKrNJQABAAGUBG-5vRedSwzKhhYl;csrftoken=GMInfhmch5IZzEJ4g7623nR8ZM4TxY1E;rur=ATN;ds_user_id=47724962915;sessionid=47724962915%3AQ6NvjKYvuqbhsu%3A7;||


2. proxy.txt - прокси в формате ZP
3. id.txt - айди пользователей Instagram, кого надо парсить (бизнесс аккаунты только)
4. out.txt - результат формат id:phone:email
 

Вложения

Последнее редактирование:
спасибо, отличная статья
 
  • Спасибо
Реакции: melutsk
  • Спасибо
Реакции: melutsk
Сам запрос выглядит вот так примерно, данные, которые не обязательны я не отправляю
Если не сложно, как определить в заголовках какие данные обязательны, а какие нет? :bw:
 
  • Спасибо
Реакции: melutsk
Полезная информация :ay:
 
  • Спасибо
Реакции: melutsk
melutsk, кроме мыла и телефона еще что-то парсится? Скажем имя, может описание, URL пользователя?
Да, вот пример

{"user":{"pk":5530817939,"username":"izzo.studio","full_name":"МАНИКЮР ⋆ МОСКВА ⋆ АРБАТ","is_private":false,"profile_pic_url":"https://instagram.fdnk1-2.fna.fbcdn...a4692237\u0026oe=60B18763\u0026_nc_sid=a9513d","profile_pic_id":"2271124161737277298_5530817939","is_verified":false,"has_anonymous_profile_picture":false,"media_count":232,"geo_media_count":0,"follower_count":9361,"following_count":444,"following_tag_count":0,"biography":"Стань на маникюр счастливее\n▫воплотим любую идею\n▫реально стерильно\n▫трендовый дизайн и топ-цвета\nдемократичные цены \nблизко к метро\nЖмите","biography_with_entities":{"raw_text":"Стань на маникюр счастливее\n▫воплотим любую идею\n▫реально стерильно\n▫трендовый дизайн и топ-цвета\nдемократичные цены \nблизко к метро\nЖмите","entities":[]},"biography_product_mentions":[],"external_url":"https://taplink.cc/izzo.studio","external_lynx_url":"https://l.instagram.com/?u=https://...Dr5IcWChOc-9T14HJ-G2PQC6nh5FVwlZB2K4\u0026s=1","has_biography_translation":true,"total_igtv_videos":0,"has_videos":true,"total_ar_effects":0,"usertags_count":49,"is_favorite":false,"is_favorite_for_stories":false,"is_favorite_for_igtv":false,"is_favorite_for_clips":false,"is_favorite_for_highlights":false,"live_subscription_status":"default","is_interest_account":true,"has_chaining":true,"hd_profile_pic_versions":[{"width":320,"height":320,"url":"https://instagram.fdnk1-2.fna.fbcdn...4ebd6610\u0026oe=60B2475B\u0026_nc_sid=a9513d"},{"width":640,"height":640,"url":"https://instagram.fdnk1-2.fna.fbcdn...da182179\u0026oe=60B245A2\u0026_nc_sid=a9513d"}],"hd_profile_pic_url_info":{"url":"https://instagram.fdnk1-2.fna.fbcdn...5279ec3c\u0026oe=60B25E1B\u0026_nc_sid=a9513d","width":1080,"height":1080},"mutual_followers_count":0,"has_highlight_reels":true,"has_guides":false,"show_shoppable_feed":false,"shoppable_posts_count":0,"can_be_reported_as_fraud":false,"merchant_checkout_style":"none","seller_shoppable_feed_type":"none","num_visible_storefront_products":0,"storefront_attribution_username":null,"creator_shopping_info":{"linked_merchant_accounts":[]},"is_eligible_for_smb_support_flow":true,"displayed_action_button_partner":null,"smb_delivery_partner":null,"smb_support_delivery_partner":null,"displayed_action_button_type":"","direct_messaging":"UNKNOWN","fb_page_call_to_action_id":"","address_street":"Nikitsky Boulevard, 12","business_contact_method":"CALL","category":"Health/Beauty","city_id":115085015172389,"city_name":"Moscow, Russia","contact_phone_number":"+79670521085","is_call_to_action_enabled":false,"latitude":55.75561,"longitude":37.60052,"public_email":"izzo.info@mail.ru","public_phone_country_code":"7","public_phone_number":"9670521085","zip":"","instagram_location_id":"","is_business":true,"account_type":2,"professional_conversion_suggested_account_type":3,"can_hide_category":true,"can_hide_public_contacts":true,"should_show_category":true,"should_show_public_contacts":true,"is_facebook_onboarded_charity":false,"has_active_charity_business_profile_fundraiser":false,"charity_profile_fundraiser_info":{"pk":5530817939,"is_facebook_onboarded_charity":false,"has_active_fundraiser":false,"consumption_sheet_config":{"can_viewer_donate":false,"currency":null,"donation_url":null,"privacy_disclaimer":null,"donation_disabled_message":"We're having trouble connecting right now. Please try your donation another time.","donation_amount_config":{"donation_amount_selector_values":[],"default_selected_donation_value":null,"minimum_donation_amount":null,"maximum_donation_amount":null,"prefill_amount":null,"user_currency":null},"you_donated_message":null,"profile_fundraiser_id":null,"has_viewer_donated":null}},"standalone_fundraiser_info":{"has_active_fundraiser":false,"fundraiser_id":null,"fundraiser_title":null,"fundraiser_type":null,"formatted_goal_amount":null,"beneficiary_username":null,"formatted_fundraiser_progress_info_text":null,"percent_raised":null},"account_badges":[],"whatsapp_number":"","pronouns":[],"include_direct_blacklist_status":true,"is_potential_business":true,"show_post_insights_entry_point":true,"request_contact_enabled":false,"is_bestie":false,"has_unseen_besties_media":false,"show_account_transparency_details":true,"auto_expand_chaining":false,"highlight_reshare_disabled":false,"is_memorialized":false,"open_external_url_with_in_app_browser":true},"status":"ok"}
 
  • Спасибо
Реакции: Gavrosh и Geroin_910
Отличный труд, желаю вам взять главный приз !
 
  • Спасибо
Реакции: melutsk
А есть методика генерации enc_password?
 
  • Спасибо
Реакции: melutsk
А на другой эмулятор (нокс, мему, лд, блюстакс) станет инста?Genymotion никак не хочет запускатся, хотя мему и блюстакс работают без проблем
 
  • Спасибо
Реакции: melutsk
А на другой эмулятор (нокс, мему, лд, блюстакс) станет инста?Genymotion никак не хочет запускатся, хотя мему и блюстакс работают без проблем
Там основное правило если не ошибаюсь, чтобы виртуалка рутированая была. А по geny какие ошибки?
 
Добрый день, подскажите, первый раз залез в программу. Версия ZP 7.4.0.0. А проект insta parse требует версию 7.4.0.2. Как быть? Возможно ли открыть его?
 

Вложения

  • 2021-06-04_20-26-11.png
    2021-06-04_20-26-11.png
    67,8 KB · Просмотры: 296
  • Спасибо
Реакции: melutsk
Добрый день, подскажите, первый раз залез в программу. Версия ZP 7.4.0.0. А проект insta parse требует версию 7.4.0.2. Как быть? Возможно ли открыть его?
Обновите ZP, там же пишет ошибку.
 
  • Спасибо
Реакции: So_After_That
Обновите ZP, там же пишет ошибку.
Дело в том, что, 7.4.0.0 показывает оф сайт, как последнее обновление. Поэтому и задал такой вопрос. Возможно ли с вами как-то связаться для консультации? Потому, как ваш материал на вес золота и только тут я нашел способ решения своей задачи по парсингу.
 

Вложения

  • 2021-06-05_21-39-47.png
    2021-06-05_21-39-47.png
    48,9 KB · Просмотры: 278
Дело в том, что, 7.4.0.0 показывает оф сайт, как последнее обновление. Поэтому и задал такой вопрос. Возможно ли с вами как-то связаться для консультации? Потому, как ваш материал на вес золота и только тут я нашел способ решения своей задачи по парсингу.
Получи статус клиента, зайди в скрытый раздел только для клиентов, скачай версию 7.4.0.2, бинго!
 
  • Спасибо
Реакции: So_After_That
Все, наверное, знают, что ест куча парсеров контактов из Instagram - 99% их работает через веб и парсят Имя+описание к аккаунту
А если мне нужны как-раз открытые данные, стоит заморачиваться твоим методом, или лучше поискать другое решение?
Я так понял, основная проблема - лимиты инсты вообще на любые запросы. Может из-за мобильного приложения лимиты будут другими..
 
А если мне нужны как-раз открытые данные, стоит заморачиваться твоим методом, или лучше поискать другое решение?
Я так понял, основная проблема - лимиты инсты вообще на любые запросы. Может из-за мобильного приложения лимиты будут другими..
В вебе особо не спарсишь, там или нужны кристально чистые профили или тоже акки.
 
  • Спасибо
Реакции: Lite

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)