Python ile Anlık Takip Botu
Merhaba arkadaşlar, bu yazımda anlık takip yapan bir bot script yazmak için uğraştım ama bazı kusurları var. Kusurlarından önce anlık takip botumuzdan biraz bahsedelim.
Adı üstünde anlık takip yapıyor. Mesela aşağıda örnekte göstereceğimiz gibi botumuzla TRTHaber 'in haber sitesinden verileri çekeceğiz. Öncelikle bu sitenin masaüstü sürümünün link yapısı bize uygun değil inceleyecek olursak
http://www.trthaber.com/haber/spor/cuneyt-cakir-tarihe-gecti-188699.html
şekildeki link bizim için elverişsiz çünkü buradaki linkten son habere ulaşamayız.
Bunun için TRTHaber 'in mobil sitesinin linklerine bakalım bu linke baktığımızda ise
http://www.trthaber.com/m/?news=cuneyt-cakir-tarihe-gecti&news_id=188699&category_id=5
Yine elverişsiz bir link gibi duruyor news_id değerimiz var ama news degerimizi çıkardığımızda hata veriyor. category_id ise etkilemiyor. Ancak nedenini anlamadığım bir şekilde news değerini boş bıraktığımız zaman news_id değerimiz kalıcı olduğu sürece sitemiz açılıyor ve news_id değerinden yapacağımız değişikliklerde ise bu değer yeni bir haber eklendikçe artıyor. Bu yüzden linkimizi aşağıdaki gibi kullanacağız.
http://www.trthaber.com/m/?news=&news_id=188699
Şu an için news_id 'nin en son değeri 188699 yani son paylaşılan haberin id değeri. Siz baktığınızda daha da artmış olabilir. Şu ana bu değerden daha büyük bir değer yazıp girmeyi denediğimde hata ekranı ile karşılaşıyorum. Tabi bu sayıdan daha düşük sayılar yazdığımda geriye dönük haberler çıkıyor. Böylece link yapımızla en son habere ulaşabileceğiz.
Link yapımızı anladığımıza göre botumuzu anlatmaya çalışalım. Onuda kodlar üzerinde açıklayalım.
Evet gördüğünüz gibi program sürekli olarak haber sitesini takip altında tutuyor ve yeni bir paylaşıldığında bunu algılayıp gerekli işlemleri yapıyor. İşlemlerden sonra yeniden bir yeni haberin paylaşılmasını bekliyip bunu sonsuz bir döngü haline getirerek takibe alıyor.
NOT: Kodları indirme için tıklayın.
Adı üstünde anlık takip yapıyor. Mesela aşağıda örnekte göstereceğimiz gibi botumuzla TRTHaber 'in haber sitesinden verileri çekeceğiz. Öncelikle bu sitenin masaüstü sürümünün link yapısı bize uygun değil inceleyecek olursak
http://www.trthaber.com/haber/spor/cuneyt-cakir-tarihe-gecti-188699.html
şekildeki link bizim için elverişsiz çünkü buradaki linkten son habere ulaşamayız.
Bunun için TRTHaber 'in mobil sitesinin linklerine bakalım bu linke baktığımızda ise
http://www.trthaber.com/m/?news=cuneyt-cakir-tarihe-gecti&news_id=188699&category_id=5
Yine elverişsiz bir link gibi duruyor news_id değerimiz var ama news degerimizi çıkardığımızda hata veriyor. category_id ise etkilemiyor. Ancak nedenini anlamadığım bir şekilde news değerini boş bıraktığımız zaman news_id değerimiz kalıcı olduğu sürece sitemiz açılıyor ve news_id değerinden yapacağımız değişikliklerde ise bu değer yeni bir haber eklendikçe artıyor. Bu yüzden linkimizi aşağıdaki gibi kullanacağız.
http://www.trthaber.com/m/?news=&news_id=188699
Şu an için news_id 'nin en son değeri 188699 yani son paylaşılan haberin id değeri. Siz baktığınızda daha da artmış olabilir. Şu ana bu değerden daha büyük bir değer yazıp girmeyi denediğimde hata ekranı ile karşılaşıyorum. Tabi bu sayıdan daha düşük sayılar yazdığımda geriye dönük haberler çıkıyor. Böylece link yapımızla en son habere ulaşabileceğiz.
Link yapımızı anladığımıza göre botumuzu anlatmaya çalışalım. Onuda kodlar üzerinde açıklayalım.
Evet gördüğünüz gibi program sürekli olarak haber sitesini takip altında tutuyor ve yeni bir paylaşıldığında bunu algılayıp gerekli işlemleri yapıyor. İşlemlerden sonra yeniden bir yeni haberin paylaşılmasını bekliyip bunu sonsuz bir döngü haline getirerek takibe alıyor.
NOT: Kodları indirme için tıklayın.
Eline sağlık güzel bilgiler vermişsin. Kodun daha genelleştirilmesi için id değişkenini dışardan okutabilirsin veya siteye bağlanıp son haberi çekmeye çalışabilirsin. Ek olarak "elif" kontrolü yerine doğrudan "else" kullanabilirsin. Son olarak kodlarını github tarzı programcıların daha çok takip ettiği yerlere koyarsan hem daha çok kişiye ulaşırsın hem de "git" üzerinden değişiklik yapıp göndermek daha kolay ve takip edilebilir olur. Kolay gelsin.
YanıtlaSilSağolasın bilgilendirmeler için bende böyle fikir alışverişlerinin olmasını seviyorum sağolasın. Dediklerine bakıcam. Github da buna dahil :D
Silİşe yarar bir program olmuş teşekkürler.
YanıtlaSilSağolasın.
Silsize nasıl ulaşabilirim
YanıtlaSilmechanize modulu yok diyor benim python
YanıtlaSil