سؤال

أحاول تنزيل Corpus من الأخبار (لمحاولة القيام ببعض معالجة اللغة الطبيعية) من أخبار Google باستخدام FeedParser العالمي مع Python. لا أعرف حقا شيئا من XML، أنا فقط أستخدم مثالا على كيفية استخدام FeedParser. المشكلة هي أنني لا أستطيع أن أجدها في DICT أحصل عليها من RSS Feed المحتوى من الأخبار فقط العنوان.

الرمز الذي أحاول حاليا استخدامه هو:

import feedparser
url = 'http://news.google.com.br/news?pz=1&cf=all&ned=us&hl=en&output=rss' 
# just some GNews feed - I'll use a specific search later

feed = feedparser.parse(url)
for post in feed.entries:
   print post.title
   print post.keys()

المفاتيح التي أحصل عليها في هذا المنصب هي مجرد عنوان أو ملخص وتاريخ وما إلى ذلك ... لا يوجد محتوى.

هل هذه مشكلة مع أخبار Google أو أفعل أي شيء خاطئ؟ هل هناك طريقة للقيام بذلك؟

هل كانت مفيدة؟

المحلول

هل قمت بفحص الخلاصة من أخبار Google؟

هناك عنصر جذر في كل تغذية تحتوي على مجموعة من المعلومات والإدخالات الفعلية DICT. إليك طريقة قذرة لمعرفة ما هو متاح:

import feedparser
d = feedparser.parse('http://news.google.com/news?pz=1&cf=all&ned=ca&hl=en&topic=w&output=rss')

print [field for field in d]

من ما يمكننا أن نرى لدينا entries الحقل الذي يحتوى على الأرجح .. إدخالات الأخبار! اذا أنت:

import pprint
pprint.pprint(entry for entry in d['entries'])

نحصل على مزيد من المعلومات :) من شأنها أن تظهر لك جميع الحقول المتعلقة بكل إدخال بطريقة مطبوعة جميلة (وهذا ما هو peprint for)

لذلك، لجلب جميع عناوين إدخالات الأخبار لدينا من هذه الخلاصة:

titles = [entry.title for entry in d['entries']

لذلك، العب مع ذلك. نأمل أن تكون بداية مفيدة

نصائح أخرى

أولا تحتاج إلى التحقق مواصفات RSS. وبعد وهنا هو تغذية المحلل. وبعد من المستحسن ان تبدا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top