Bunu kullanmadım ama instagram, olmayan instagram.com/KULLANCIIADI URLlerine 404 vermiyor. Hepsine 200 veriyor.
Yine de php ile bile çok basit curl yazılabilir (rate limiti nedir, o sorun olabilir)
Response içinde
<link rel="alternate" href="https://www.instagram.com/KULLANICI_ADI/" hreflang="x-default" /> aranır, varsa kullanıcı adı doludur yoksa boştur.
Instagram kullanmadığım için sistemi bilmiyorum aklıma ilk bu geldi
mantıklı. emeğinize düşüncenize sağlık. python ile de yine otomatikleştirilebilir scrape ile. ben daha farklı bir mantık yürütmeye calıstım. hatta üşenmeyelim yazalım tek tek, fikral hocamın da işi görülsün :
Alıntı
import sys, time
import undetected_chromedriver as uc
TR_UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; tr-TR) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36"
HATA_1 = "bağlantı bozuk olabilir"
HATA_2 = "üzgünüz, bu sayfaya ulaşılamıyor"
def kontrol_fatihanily(surucu, kullanici):
surucu.get(f"https://www.instagram.com/{kullanici}/")
time.sleep(0.8)
t = surucu.page_source.lower()
return "ALINABILIR" if (HATA_1 in t or HATA_2 in t) else "DOLU"
def calistir_fikral(dosya):
o = uc.ChromeOptions()
o.add_argument("--headless=new")
o.add_argument("--lang=tr-TR")
o.add_argument(f"user-agent={TR_UA}")
o.add_argument("--disable-blink-features=AutomationControlled")
d = uc.Chrome(options=o)
try:
with open(dosya, "r", encoding="utf-8") as f:
for s in f:
k = s.strip()
if not k:
continue
try:
r = kontrol_fatihanily(d, k)
except Exception:
r = "BELIRSIZ"
print(f"{k};{r}")
finally:
d.quit()
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Kullanım: python insta_kontrol_uc.py usernames.txt"); sys.exit(1)
calistir_fikral(sys.argv[1])
kurulum :
Alıntı
pip install --upgrade pip setuptools wheel
pip install undetected-chromedriver
denenmedi. ama mantık bu. sevgiler.