Sosyal medya lokasyon analizi
Social media location analysis
Yazar: YAHYA ALALI
Danışman: PROF. DR. NİLÜFER YURTAY
Sakarya Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Bu araştırma, popüler sosyal medya platformu Instagram'ın içeriğinin analizini amaçlamaktadır. Web tarama tekniklerini kullanarak bu platformdan belirli veriler toplanmıştır ve bu verilerin toplanması, Instagram kullanıcılarının davranışları ve eğilimleri hakkında daha derin bir anlayış sağlamayı amaçlamaktadır. Bu çalışma, uygulamalı uygulamasında Python programlama diline dayanmaktadır.
Şu anda, sosyal medya platformları, insanlar arasında kolay iletişim ve etkileşimi teşvik etmek için önemli bir araç haline gelmiştir. Milyonlarca kişi, deneyimlerini ve içeriklerini bu platformlar aracılığıyla paylaşır, bu da zengin bir veri kaynağı oluşturmaktadır.
"SOSYAL MEDYA LOKASYON ANALİZİ" adlı çalışma, veri madenciliği tekniklerine dayalı bir masaüstü uygulaması geliştirmeyi amaçlamaktadır. Ayrıca, Instagram sosyal medya platformu kullanıcılarının coğrafi konum bilgilerini çıkarmak için görsel analiz de kullanılmaktadır. Bu, kullanıcıların daha önce paylaştıkları gönderilerin analizi yoluyla gerçekleştirilir. Bu uygulamanın amacı, Instagram kullanıcılarının, gönderilerinden çıkarılan coğrafi konum bilgilerine dayanarak arkadaşlarının bulunduğu yerleri tahmin etmelerine yardımcı olmaktır.
Bu çalışma, temel olarak Python programlama dilindeki instaloader kütüphanesine dayanmaktadır. Bu kütüphane, Instagram hesaplarına giriş yapma sürecini doğrulamak ve giriş yapılan hesap için kimlik doğrulama işlemi tamamlandıktan sonra takipçi listesini almak için kullanılmaktadır. Bu listeden bir kullanıcı belirlendikten sonra, hedef kullanıcı olarak bilinen bu kullanıcının gönderi bilgileri kazınır. Bu bilgiler iki türe ayrılır: JPG formatında olan fotoğraflar ve meta verileri (Post Metadata) olarak bilinen günlük bilgileri, bu JSON formatında bir dosyadır. Daha sonra bu veriler, özel bir dış veri tabanında saklanır. Bu çalışma, bu konuda popüler olan Firebase platformuna dayanmaktadır.
Bu çalışma, her gönderinin konum verilerini çıkarmak için üç farklı yöntem kullanmaktadır. Birincisi, gönderi, kullanıcının kendisinin paylaştığı ve instaloader kütüphanesinin gönderilerin meta verileri (Post Metadata) içinde kazıdığı "yer etiketi" konum verilerini içeriyorsa, bu durumda, aynı gönderiye ait fotoğrafların görsel analizine gerek kalmaz. Bu bilgiler, JSON dosyasında bulunan bilgilerdir. İkincisi, kullanıcı tarafından "yer etiketi" coğrafi konum verileri paylaşılmamışsa, "Google Cloud Vision" aracı, fotoğraflardaki ünlü yer işaretlerini tespit etmek ve bu yer işaretlerine ait coğrafi konum verilerini, yani enlem ve boylam koordinatlarını çıkarmak için görsel analizde kullanılır. Bu, konum verilerini "yer etiketi" içermeyen aynı gönderiye ait fotoğrafların analiz edilmesi anlamına gelir. Üçüncüsü, "Google Cloud Vision" aracı, aynı gönderinin fotoğraflarından herhangi bir konum bilgisi çıkaramazsa, üçüncü yönteme geçilir ve bu, her bir konum bilgisi içermeyen fotoğrafın görsel analizinde "OpenCV + TensorFlow" kütüphanesinin kullanılmasıdır. Aynı zamanda ünlü yer işaretlerinin tespit edilmesi ve bu yer işaretlerine ait koordinatların
xviii
çıkarılması anlamına gelir. Eğer önceki üç yöntemle herhangi bir coğrafi konum verisi bulunamazsa, bu, gönderinin herhangi bir konum verisi içermediği anlamına gelir ve bir sonraki gönderiye geçilir. Bu işlem, tüm gönderilerin analizi tamamlanana kadar devam eder.
Sonrasında, gönderilerden çıkarılan konum verileri (koordinatlar) analiz edilir, ardından hedef kullanıcının bulunması beklenen en sık tekrar eden ülke ve şehir belirlenir. Bundan sonra, bu konuda bir rapor sunulur, bu konumlar, kullanıcıya daha net bir görsel içerik sunmak için haritada (Google Maps) gösterilmektedir.
Örneğin, hedef kullanıcının sayfasındaki gönderiler arasında Türkiye'den beş, Almanya'dan üç ve Suudi Arabistan'dan bir gönderi varsa, programın oluşturduğu listede Türkiye, hedef kullanıcının bulunması beklenen ülke olarak ilk sırada yer almaktadır, ardından Almanya ve sonra Suudi Arabistan gelmektedir. Daha sonra, şehirler benzer şekilde ülkeler gibi sıralanır ve sınıflandırılır. Örneğin, Türkiye'deki gönderiler arasında İstanbul'dan üç, Sakarya'dan bir ve Kocaeli'den bir gönderi varsa, kullanıcıya, hedef kullanıcının bulunması beklenen en sık tekrar eden şehir hakkında bir rapor sunulmaktadır, bu İstanbul olmaktadır.

Abstract:
This research is aimed at analyzing the content of one of the most famous social media platform Instagram, by collecting specific data from the platform using web crawling techniques. Web crawling techniques are very effective tools for scraping data which can be benefited from in numerous ways. The motivation behind this research is to understand the complex mechanisms that these techniques follow during the process of scraping and collecting data from the web, especially from sites like Instagram and Facebook, that seek to prevent their data from being scraped by preventing robots or crawling spiders from accessing and indexing this data. The aim of collecting customized data from is to provide an accurate and in-depth understanding of the behavior and trends of Instagram users.
The study relies in its practical application on Python programming language because it contains ready-made tools and libraries that are able to facilitate the practical implementation of this research, especially in the field of web crawling, as it is considered the leading language in this field.
With the continuous evolution of contemporary society, it cannot be denied that social media platforms have evolved to become an important tool for enhancing easy communication and interaction among people. These digital platforms are now considered the primary channels through which many people share their diverse experiences and content, collectively contributing to the creation of a vast, invaluable data repository that feeds the modern digital landscape.
The study "Social Media Location Analysis" aims to develop a desktop application that relies on data mining techniques and visual analysis to extract geographical location information of Instagram users, by analyzing the posts they have previously shared. The application will seek to help Instagram users guess the whereabouts of their friends based on the geographical location information extracted from their posts.
The practical application of this study begins with creating the user interface, relying on the Tkinter library. This interface is a login page, providing easy access to the personal Instagram accounts of users, through their username and password. It somewhat resembles the main Instagram interface. This study primarily relies on the Instaloader library (a Python library) in the process of authenticating logins into Instagram accounts. After successful authentication is completed in the login process, the user is directed to a second page which is the followers list of the account that has been logged into. The Instaloader library is responsible for fetching this list. After that, a username is selected from this list or entered manually for a username not on the follower list. The interface also allows targeting accounts that are not on the followers or following list of the logged in account as long as they are not private accounts. The name that is chosen or manually entered is known as the targeted user.
xx
After that, the program is smoothly directed to the profile page of the targeted user (this process occurs in the background without appearing to the user), where the process of scraping information from this user's posts begins. The Instaloader library is also responsible for the process of scraping and saving this information in a special folder that bears the same name as the targeted user and is within the project folders. The collected information is divided into two types; 1) images that are in JPG format, and 2) daily information known as Post Metadata, which is a JSON file. The Instaloader library gives the JSON file of the Post metadata and the images that follow the same post the same name, with only the extension differing. For ease of handling the information of each post separately, name to be given to the files will be the date of sharing the post separately. After that, this information is transferred and saved in a special external database., In this study, Firebase platform was selected to serve that purpose based on its reliability.
This study follows three methods in extracting location data for each post. First, if the post contains the geographical data of the location "location tag" which the user shares himself/herself, the instaloader library scrapes it also within the descriptive data (Post Metadata) of the posts. In such cases where the information in the JSON file is available, there is no need to perform visual analysis of the images that follow the same post. Therefore, the process of analyzing and extracting coordinate information for this post ends here and does not move on to the remaining methods. Second, if the geographical location data "location tag" is not shared by the user, "Google Cloud Vision" tool is used, which is a paid service provided by Google, similar in its mechanism to Google Lens, where it performs visual analysis and detects famous landmarks in the images and extracts geographical location data that follow these landmarks., i.e., longitude and latitude coordinates, where the images that follow the same post that does not contain descriptive data on location information "location tag" are analyzed, which is every image that carries the same name as the JSON file for this post. If location data is found, the image analysis process stops here, and does not move on to the third method in the analysis. Third, if the "Google Cloud Vision" tool was not able to extract any location information from the same post images, the program moves on to the third method, which is using the "OpenCV + TensorFlow" library. This method relies on the use of machine learning models dedicated to visually analyzing of images by detecting famous landmarks and extracting the coordinates of these landmarks. If no location data is found using any of the previous three methods, it means that the post does not contain any location data, and the program moves on to the next post, until all posts are analyzed.
After that, the extracted location data (coordinates) from the posts are analyzed, where these coordinates are converted into addresses using the library GeoPy. The geographical data of interest in this study and the object is the identification of the country and city. Upon completion of the analysis of the targeted user's posts, it becomes possible to anticipate the residency location of the user where the user is expected to be residing in the most frequent city/country in the user posts. These results are displayed on a special page using the library Matplotlib with the names of the most frequently occurring country and city shown at the end of the page to serve as a final report presented to the user. In addition, the coordinates are then pinned as markers on the map (Google Maps) to provide the user with a clearer visual content.
For example, if there are five posts from Turkey, three from Germany, and one from Saudi Arabia on the targeted user's page, Turkey will be first in the list generated by
xxi
the program, the country where the targeted user is most likely located, followed by Germany and then Saudi Arabia. Similarly, cities are arranged and ranked in the same manner as countries. For instance, if there are three posts from Istanbul, one from Sakarya, and one from Kocaeli, Turkey, the report will show Istanbul as the most frequent city where the target user is expected to be located.