Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Chat GPT OpenAI


roket adam

Öne çıkan mesajlar

Bu arada, 4o ile birlikte python pair programming yaptık, paticiğe login olup kendi ( veya seçtğiniz kişinin) profiline gidip tüm mesajlarını, tarihleri ve başlıklarıyla birlikte çekip xml'e kaydeden bir python scripti yazdık. Login kısmında baya zorlandı, benim de python bilgim beginner seviyede olduğu için baya debelendik sonunda hallettik ama gereksiz fazla vakit harcadık. Nedense bazı web sayfalarının yapısını sanırım bilerek incelemiyor . Mesela profil sayfasını çok iyi analiz edip , data extraction yapabiliyorken login gibi sayfaları kendi otomatik incelememek 50 tane bahane buluyor. Kullanıcı adı , şifreyi veriyorum, yok ben login olamam, login sayfasındaki bilmemne dosyası(robot.txt) sayfayı analiz etmemi engelliyor diye atıp tutuyor. Aslında bu dediklerinin hepsi aşılabilir şeyler. Sonunda request-response, html ve js kısmını kendim inceleyip, sanırım koda şunları ekleyip login olman lazım diyip karşılıklı tartışa tartışa hallettik.  Overallda benim için baya faydalı oldu, pythonda bu işlemlerim nasıl yapıldığını bir nebze öğrenmiş oldum.

Benim 10k'ya yakın tüm mesaj içeriklerini, tarih ve konu başlıklarıyla birlikte çekmesi yaklaşık 10 dk sürdü.

Merak eden, ihtiyacı olan burdan indirebilir:

https://github.com/balrng/pati-msg-fetch

 

Python hiç kullanmamış olanlar , scriptin çalışması Python.exe ve  Vs Code'a ihtiyacı olacak

https://www.python.org/downloads/

VS code

 https://code.visualstudio.com/download

 

-Github dab indirdiğiniz Dosyaları komple VS Code içine atıyorsunuz

- vs code'da extract_forum_messages.py dosyası açıkken  

Ctrl + Shift + P basıp Python: Create Terminal seçiyoruz

Vs code içinde aşağıda, Terminal sekmesi açılması lazım, terminal açıldığında gözüken path, dosyaların olduğu path ile aynı olması gerekiyor, Örnek

 PS C:\Users\nicco\Desktop\paticik_scraper>

- Açılan terminal sekmesine şu kodu girip enter:

python -m venv venv

max 10sn içinde dosyaların olduğu klasörün içinde venv isimli bir klasör oluşması gerekiyor. Ayrıca visual studio code'da sağ altta şu uyarı çıkacak buna da evet diyoruz:

https://i.sstatic.net/HzSHk.png

- Ardından scriptin çalışması için gerekli olan packageları terminalden yüklüyoruz

pip install requests bs4 

- Şimdi scripti çalıştırmadan önce extract_forum_messages.py içinde gerekli bilgileri girmek gerekiyor:

  credentials  user-password bilgileriniz

 profile_url : Bu kısım tüm mesajlarınızın gözüktüğü Profil sayfası. Profilim->aktivitemi göre basınca açılan sayfanın urli. Örnek :  https://forum.paticik.com/profile/4428-Dark_Soul/content/"  . Mesajlarını kaydetmek istediğiniz kişinin urlini buraya giriyoruz, kendinizinkini bununla değiştirin.

-content_total_page_number Bu da ne kadar mesaj çekmek istediğiniz.

  https://forum.paticik.com/profile/4428-Dark_Soul/content/

Benim profilde toplam 364 sayfa gözüküyor, her sayfada 25 mesaj var. Bu değeri 364 seçersem, yeniden eskiye doğru tüm mesajlarımı çekip xml'e kaydedecek. Benim toplam 9700 küsür mesajı yaklaşık 10 dakikada title-date-content şeklinde çekip düzgün şekilde .xml'e yazdırdı. 

 

- Son adımda scripti çalıştırıyoruz

  Visual studio kodda extract_forum_messages.py dosyası açık olsun. Sağ üstte play/run iconlu bir button var, yanındaki oka basıp run python file'ı seçiyoruz ve script çalışmaya başlayacak. Bu sırada terminal açık olsun , en altta  şu mesajı görürseniz url'lerde veya login bilgilerinizde hata oluşmuş demektir:

 Login failed: 'Ulaşmak istediğiniz sayfa misafirlere görünmüyor' message found.

 Login successful! mesajını görürseniz, hesabınıza login olup mesajları çekmeye başlamıştır. İlk denemenizde content_total_page_number değerini 4-5 gibi küçük bir sayı yapıp, xml düzgün oluşmuş mu diye bakın. Mesaj içeriklerini tarihlerini vs kontrol edin. Herşey düzgünse tüm mesajlarınızı çektirebilirsiniz.

Oluşan xml'in içeriği şu şekilde olmalı:
spacer.png

 

 

 

Dark_Soul tarafından düzenlendi
  • Like 2
Link to comment
Sosyal ağlarda paylaş

  • 1 ay sonra ...
×
×
  • Yeni Oluştur...