Rehber Sosyal mesajlarınızdaki toplam karakter sayısını bulan Python scripti

Güncelleme: DevTools'taki Network sekmesinde herhangi bir API sorgusuna rastlayamadım maalesef. Sayfanın tamamı HTML dokümanı olarak geliyor, JS ile yapılan bir API sorgusu göremedim.
O zaman HTML'de işlem yapmak lazım. Selenium'dansa tabii tam yapıyı bilmiyorum ben de incelemedim.
 
O zaman HTML'de işlem yapmak lazım Selenium'dansa, tabii tam yapıyı bilmiyorum ben de incelemedim.

Mesaj liste sayfalarını gezebilmek için Selenium'a ihtiyaç duydum çünkü URL özellikle "Daha eski sonuçları görüntüle"ye basınca gelen yeni sayfada belirsizce değişiyor, .../ara/<sayı>/...: şuradaki sayıyı nasıl üreteceğimi çıkaramadım.

Onun dışında bir mesaj liste sayfası eldeyken sanırsam Selenium kullanmadan requests ve tercihen BeautifulSoup ile bir mesajın olduğu konu sayfasına gidip mesajı alabiliriz yine. Burayı Selenium'la yapmak yavaşlatıyor olabilir.
 
Son düzenleme:
Selenium cok is goren bir kutuphane. Zaten kutuphaneden de ote web scraping mantigini oturtmak pek cok seyde isinize yarar. Yarin obur gun universitede ders secimi yaparken herkes elle tiklarken siz bot yazarsiniz dersleri o secer direk, tenis kortu kiralamak icin millet alarm kurup sayfada F5 yaparken VPS'e kurdugunuz bir bot surekli tarar bosalan bir vakit oldugunda size haber verir vs. gunluk hayatta cok seye yariyor.

Kod yazim sekli de derli toplu nispeten ama daha duzenli olursaniz daha iyi olur ilerisi icin. Simdilik tek sayfalik seylerde sorun olmaz ama normalde methodlar cok az sayida satir icermeli ve sadece tek bir sey yapmali.

Cok guzel bir pratik olmus, devam etmeni umarim.
 
Öncelikle değerli yorum ve tavsiyeleriniz için teşekkür ederim.

Selenium cok is goren bir kutuphane. Zaten kutuphaneden de ote web scraping mantigini oturtmak pek cok seyde isinize yarar.

Kesinlikle bu bakımdan çok beğendim. Çok hoş bir API'ı var, hiç kendim özelleşmiş ek bir metot yazma ihtiyacı hissetmedim.

Yarin obur gun universitede ders secimi yaparken herkes elle tiklarken siz bot yazarsiniz dersleri o secer direkt.

Güya yasaklıydı bizde. Ufak JS scriptlerini yazan yazıyordu. İş benden geçti. Tek dersim kaldı, o da bitirme. Zamanında ilgilenip eğlenseydik keşke.

Tenis kortu kiralamak icin millet alarm kurup sayfada F5 yaparken VPS'e kurdugunuz bir bot surekli tarar, bosalan bir vakit oldugunda size haber verir vs. gunluk hayatta cok seye yariyor.

Verdiğiniz örnek fazlasıyla spesifik, tenise ilgilisiniz anlaşılan. VPS ne oluyor bu arada? Virtual Private Server diye sallayasım geldi ama... Nasıl elde ediliyor ki?

Günlük hayatta çok işe yarayabileceğini tahmin edebiliyorum. Oldukça eğlenceli.

Kod yazim sekli de derli toplu nispeten ama daha duzenli olursaniz daha iyi olur ilerisi icin. Simdilik tek sayfalik seylerde sorun olmaz ama normalde metotlar cok az sayida satir icermeli ve sadece tek bir sey yapmali.

Böyle bir eleştirinin gelmesine çok sevindim. Kesinlikle haklısınız. Neden böyle geçiştirdim, biliyor musunuz? Kendim WebDriver tipinde parametre alan metotlar yazacaktım ama sonra sınıfı import edemeyince sinir oldum (typing kullanmadan yazasım gelmedi), araştırasım da gelmedi hangi alt modülün içinde bulunduğunu, hepsini tek metoda tıkıştırdım gitti.

Cok guzel bir pratik olmus, devam etmeni umarim.

Çok teşekkürler, amaç oldukça motive ediciydi. Sosyal'de mesajlardaki toplam karakter sayısının dışında çok şey yapılabileceğinden başka fikirler türeyeceğini de öngörüyorum. Devamı gelecektir tahminimce.
 

Hangi bolumde okuyorsunuz? Bilgisayar muhendisligi mi?

Evet tenis icin Istanbul'da bahsettigim seyi yapmistim. Aslinda verdigim diger ornekler de zamaninda yaptigim seyler. Kendini tekrar eden ve otomatiklestirebilecegim bir isi elle yapmaktan bana zulum gibi geliyor. O yuzden bu tarz isleri hep otomatiklestirmek istiyorum. Mesela kendi kendini karistiran tencere neden hala icat edilmedi aklim almiyor.

Ufak bir oneri daha yapayim o zaman, metodlari kucuk ve tek isi yapar hale getirince yorum satirlarina da ihtiyacin kalmayacak. Cunku metodun adi zaten ne is yaptigini soyleyecegi ve tek bir is yapacagi icin yorum eklemene bile gerek kalmamis olacak. Kendim de kod yazarken her zaman eger yorum satiri yazmam gerekiyorsa once bunu daha parcalayabilir miyim diye dusunuyorum. Ekstrem durumlar olmadikca da yorum satiri yazmamaya calisiyorum cunku kotu bir kod yazip yorum satiriyla aciklamaya calismak cok kolay. Guzel bir kod kendi kendini anlatmali, ekstra bir yorum satirina ihtiyac duymamali.

Aslinda import kisminda aldigin hatalarda takilmadan isi yapacak MVP (Minimum Viable Product) gelistirmis olman iyi bir yontem. Bazi insanlar detaylara ve mukemmelliyetcilige takildigindan gunun sonunda hic bir sey cikaramiyor ortaya. Bununla ilgili bir soz de var, ki ben de cok severim;

Do it first, then do it right

Gunluk hayatta kullandigin bazi seyleri Ya bunu nasil otomatiklestiririm? diye dusunursen bence cok daha yaratici seyler bulabilirsin.

Kolay gelsin

Duzenleme: VPS sorusuna cevap vermemisim. Evet tahmin ettigin gibi, sanal bir sunucu. Sonucta mesela tenis orneginde yazdigin uygulamanin surekli bir loop halinde tenis kortlarini kontrol etmesi gerekli degil mi? Evde PC'ni acik birakip orada kosturabilrisin ama bu cok mantikli degil. Onun yerine ayda 30-40TL gibi rakamlara kiralayabilecegin kucuk sunucular oluyor. Bunlardan birini alip kendi sistemini kurup programini orada calistiriyorsun. Bu sayede 7/24 calisiyor o arkada.
 
Son düzenleme:
Hangi bolumde okuyorsunuz? Bilgisayar muhendisligi mi?

Evet. Adı bilgisayar mühendisliği, pratiği yazılım. Donanım kısmında da elbette ilgimi çeken şeyler var fakat %99.9 yazılım tarafındayım. %0.1 de işte bilgisayarı açıp kapatmak falan.

Kendini tekrar eden ve otomatiklestirebilecegim bir isi elle yapmaktan bana zulum gibi geliyor. O yuzden bu tarz isleri hep otomatiklestirmek istiyorum.

Kendim için küçük projeler üretme alışkanlığım yoktu hiç, belki o da zamanla olur, kim bilir? Motivasyonunuz mantıklı.

Mesela kendi kendini karistiran tencere neden hala icat edilmedi aklim almiyor.

Değil mi? Modern dünyanın modern saçmalıkları. Karıştırmasın canım kendini, biraz daha el işi değsin.

Yeni öneriniz ve arkasındaki sebep gayet mantıklı. Her yazılımcının bilincinde olması gereken kalitede açıklamışsınız.

Aslinda import kisminda aldigin hatalarda takilmadan isi yapacak MVP (Minimum Viable Product) gelistirmis olman iyi bir yontem. Bazi insanlar detaylara ve mukemmelliyetcilige takildigindan gunun sonunda hic bir sey cikaramiyor ortaya.

Sırf VS Code'da IntelliSense, nesnenin özelliklerine erişmek için noktaya bastığımda özellikleri listelemiyor diye ek metotlar yazmadım ya, var bende de biraz mükemmelliyetçilik. Hatta sırf bu gibi durumlar yüzünden dediğiniz şeyi yaşayabiliyorum.

Bununla ilgili bir soz de var, ki ben de cok severim;
Do it first, then do it right.


Size de kolaylıklar, teşekkürler
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…