Ömer Ücel

August 10, 2007

Python Web Programlama ve Karakter Sorunu

Filed under: Genel — Tags: — Ömer Ücel @ 8:05 pm

Python ile web programlama konusunda biraz adım atayım dedim. Az önce bir rss okuyucu yapmaya çalıştım. Ancak karakter kodlaması ile ilgili sorunlarla karşılaştım.

Bu sorunu aşabilmek için öncelikle sayfanın baş kısmına # -*- coding:cp1254 -*- kodunu yerleştirdim. Ancak sorun düzelmedi. Biraz eski projelerime göz attım. Bir projede karakter sorununu s=s.encoding('iso-8859-9') türünden bir kod parçası ile düzelttiğimi gördüm. Bunu denediğimde başarılı bir şekilde karakter sorunu olmadan kodlar çalıştı.

Aşağıdaki kodları şu sayfada deneyebilirsiniz.

  1. # -*- coding:cp1254 -*-

  2. #!/usr/bin/python

  3.  

  4. import cgi

  5. import cgitb

  6. import feedparser

  7. cgitb.enable()

  8.  

  9. print "Content-type: text/html"

  10. print

  11.  

  12. print "Python Rss Okuyucu"

  13. print "<br><br>"

  14.  

  15. feeds = feedparser.parse("http://news.google.com/?output=rss")

  16. print "<ol>"

  17. for i in range(0,len(feeds.entries)):

  18. baslik=feeds.entries[i]["title"]

  19. baslik=baslik.encode('utf-8')

  20. print "<li>%s</li>" %(baslik)

  21. print "</ol>"

3 Comments »

  1. Bu kodlar içerisindeki cgi ve cgitb modülleri ne işe yarıyor peki? Buna benzer bir uygulamayı (foruma yeni gelen iletiler için) ben de yazmıştım ama sadece Python-Feedparser modülü yeterli olmuştu, ya da ben yeterli olduğunu sanıyordum. Demek ki CGI da kullanmalıymışım sanırım.

    Comment by Tutku Dalmaz — August 11, 2007 @ 4:55 pm

  2. cgitb modülünü aktif duruma getirdiğimizde hata çıktılarını daha detaylı bir şekilde alabiliyoruz. Onun haricinde neye yaradığını bende tam olarak bilmiyorum.

    Sunucu pythonu cgi ile desteklediği için cgi modülünü kullandım.

    Eğer feedparser.py dosyası içinden bu işlemini yaptıysan bu modülde de cgi dosyaya dahil edilmiş. Sanırım sorun çıkmamasının nedeni bu olsa gerek, eğer sunucuda çalıştıysa kodlar.

    Comment by Ömer Ücel — August 11, 2007 @ 6:10 pm

  3. ya kusuruma bakma ama gece geç vakit okuyunca bende anlayış eksikliği olmuş. sanırım sen bu programı sunucuya yükleyip çalıştırıyorsun bu durumda da CGI modülü kullanılması normal. Ben sadece linux konsolunda çalışacak şekilde bir rss tarayıcı yaptığım için CGI kullanmamıştım.

    Comment by Tutku Dalmaz — August 12, 2007 @ 8:08 am

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress