Как реализовать веб скрапинг инстаграм
https://www.instagram.com/explore/locations/RU/russia/У меня есть геолокация Россия, необходимо получить список геоданных всех городов Россиию К примеру: страна Russia| город Dorogomilovo - должен получиться список:
https://www.instagram.com/explore/locations/213158406/ https://www.instagram.com/explore/locations/405229172/ https://www.instagram.com/explore/locations/228423866/ https://www.instagram.com/explore/locations/34177271/ https://www.instagram.com/explore/locations/4175666/ https://www.instagram.com/explore/locations/24391232/ https://www.instagram.com/explore/locations/217099357/ https://www.instagram.com/explore/locations/2931644/ https://www.instagram.com/explore/locations/87678/ ........... |
Получаем список городов:
Нажимаем "See more" внизу страницы, смотрим endpoint и параметры POST-запроса (page) во вкладке Network (devtools) (filter: /locations/ + XHR). Парсим полученный json. Запрашиваем следующую страницу по тому же endpoint с новым page id (next_page предыдущего ответа) до тех пор, пока next_page в ответе не будет равен null. Получаем список мест для каждого города: Нажимаем на город с открытой вкладкой Network (filter: /locations/ + XHR). Смотрим endpoint, повторяем то же самое, что делали для получения списка городов. Все это по циклу из ids списка городов, полученного ранее. Возможно, через официальное API выйдет быстрее, если не упереться в лимиты. Но, на мой взгляд, так как процедура разовая и список более-менее статичен, больше времени на изучение самого API уйдет, чем на реализацию первого варианта. |
получает первый id, как написать выражение, чтобы получить все id?
Цитата:
Цитата:
|
let locationIDs = entry_data.LocationsDirectoryPage[0].location_list.map(item => item.id) |
Часовой пояс GMT +3, время: 19:04. |