2017-05-04 5 views
0

私はGUIのために取り組んでいるGoogle検索/ RSSフィードのタイトル、URL、タイムスタンプのリストを表示する方法を見つけようとしています。私は結果を素敵な可読形式で並べ替える方法を見つけるのに苦労しています。どのような記事やガイダンスがあれば、大いに感謝します!清書文字列にtkinter内のPprint

from tkinter import * 
import urllib.request 
import feedparser 
from pprint import pprint 



search_term = ('') #search term for url 
quoted_search_term = urllib.parse.quote(search_term) 
def go(): 
    text.delete(1.0, END) #delete text 
    rss_string = 'https://news.google.com/news/section?output=rss'.format  (quoted_search_term) 
    parsed_rss_string = feedparser.parse(rss_string) #assigning variable for parsed feed 
    text.insert(1.0, parsed_rss_string) #insert text of parsed feed 


browser_window = Tk() #tk window 
browser_window.title('RSS Feed') #Window title 
label = Label(browser_window, text= 'Search:') 
entry = Entry(browser_window) 
button = Button(browser_window, text='Go', command = go)#Go Button 
text = Text(browser_window) #results box 

label.pack(side=TOP) #Positioning of search title 
entry.pack(side=TOP) #Positioning of search box 
button.pack(side=TOP)#Positioning of go 
text.pack(side= RIGHT) #Positioning of text 
browser_window.mainloop() 
+0

私は 'pprint'が関係しているかを理解していませんあなたはテキストボックスに書き込んでいて、印刷もしていません。 –

答えて

0

pprint.pformatを使用します。

from pprint import pformat 

... 

def go(): 
    ... 
    parsed = feedparser.parse(rss_string) 
    prettified = pformat(parsed) 
    text.insert("1.0", prettified) 

注:

  • URL https://news.google.com/news/section?output=rssにはプレースホルダがありません。 str.formatの効果はありません。
  • feedparser.parseは文字列ではなく、辞書を返します。

日付を公開表示するUPDATE、タイトル、URLだけで、あなたは辞書からこれらのエントリを取得する必要があります:

def go(): 
    rss_string = 'https://news.google.com/news/section?output=rss' 
    parsed = feedparser.parse(rss_string) 
    text.delete("1.0", END) 
    for entry in parsed['entries']: 
     text.insert(END, '{0[published]} - {0[title]} {0[link]}\n\n'.format(entry)) 
+0

記事、URL、日付のタイトルを他のものがなくても持てるようにする方法はありますか、それを得るには辞書を使わなければなりませんか? – learningpython

+0

@learningpython、日付、タイトル、URLのみを表示する別のバージョンの 'go()'を追加しました。 – falsetru

+0

私はそれに取り組み、あなたのソリューションに非常に似た何かを得ました。ご協力ありがとうございました! – learningpython

関連する問題