n11.com'da yer alan ürünlere yapılan yorumları çekmek için yazılmıştır.
İstediğiniz veya eksik olan fonksiyonlar için issue
açabilirsiniz. Ya da katkıda bulunmak için fonksiyonları kendiniz yazın ve pull request
gönderin.
n11_crawler.py
ve requirements.txt
dosyalarını projenizin olduğu yere atın.
Daha sonra terminalde aşağıdaki kodu çalıştırın.
pip install -r requirements.txt
from n11_crawler import N11Crawler
crawler = N11Crawler("561281932", save_as_json=True, max_comments=100, progress_bar=True)
crawler.run()
Parametre | Default Değeri | Açıklama |
---|---|---|
product_id | Yok | Ürünün id si. |
save_as_json | False | Çekilen yorumları bitişte otomatik olarak JSON dosyasına kaydeder. |
max_comments | 1000 | Maksimum kaç tane yorum çekileceğini belirler. |
progress_bar | False | Progress bar göster/gösterme. |
Parametrelerin kullanımına örnek:
crawler = N11Crawler("561281932", save_as_json=True, max_comments=100, progress_bar=True)
Fonksiyon | Açıklama |
---|---|
run() | Tüm yorumları çekmeye başlar. Diğer fonksiyonlar bu fonksiyondan sonra çağırılmak zorundadır. |
get_comments() | Çekilmiş yorumları array olarak verir. |
get_page_count() | Toplam yorum sayfası sayısını verir. Her yorum sayfası maksimum 8 yorumdan oluşur. |
get_fetch_time() | run() fonksiyonunun ne kadar sürede tamamlandığını saniye cinsinden verir. |
get_comments_length() | Çekilmiş yorumların sayısını verir. |
save_as_json() | Yorumları JSON dosyasına kaydeder. |
Fonksiyonların kullanımına örnekler:
crawler.get_comments()[0]["date"]
crawler.get_page_count()
crawler.get_fetch_time()
crawler.get_comments_length()
crawler.save_as_json(filename="yorumlar") # yorumlar.json
Aşağıdaki gibi 233 Yorum yazan yere sağ tık yapıp İncele diyerekten bulabilirsiniz. Karşınıza data-product-id="205217777"
çıkacaktır. Bu ürünün id si 205217777
olmuş olur.
Ya da Ctrl+F ile data-product-id
aratabilirsiniz.
Bu proje yorumlardan veri seti oluşturmak amacıyla yazılmıştır. Eğer n11.com için sorun teşkil ediyorsa yetkililer bana mail üzerinden ulaşabilir. Projeyi kaldırabilirim.