解析同名元素的 Stackoverflow RSS 作业提要,在 Python 中使用 Feedparser
Parse Stackoverflow RSS job feed for same name elements, with Feedparser in Python
Whosebug RSS 提要上的每个工作项目都有特定的标签,关键字为 "category"。
基本上是这样的:
<category>scala</category>
<category>hadoop</category>
<category>apache-spark</category>
<category>hive</category>
<category>json</category>
我想使用 Feedparser,将所有标签放入列表中。相反,我总是只得到第一个元素。 Feedparser 文档提到了 entries[i].content,但我不确定这是否是正确的方法,或者在这种情况下如何使用它。
这是我的代码:
import feedparser
rss_url = "https://whosebug.com/jobs/feed"
feed = feedparser.parse(rss_url)
items = feed["items"]
for item in items:
title = item["title"]
try:
tags = []
tags.append(item["category"])
print(title + " " + str(tags))
except:
print("Failed")
category
on feedparser items 基本上是 tags
列表中第一个元素的别名,它基本上是更多 feedparser 项目的列表,每个都有一个 term
属性包含标签名称。
您可以直接访问条款:
categories = [t.term for t in item.get('tags', [])]
您的代码是:
for item in items:
title = item["title"]
categories = [t.term for t in item.get('tags', [])]
print(title, ', '.join(categories))
Whosebug RSS 提要上的每个工作项目都有特定的标签,关键字为 "category"。
基本上是这样的:
<category>scala</category>
<category>hadoop</category>
<category>apache-spark</category>
<category>hive</category>
<category>json</category>
我想使用 Feedparser,将所有标签放入列表中。相反,我总是只得到第一个元素。 Feedparser 文档提到了 entries[i].content,但我不确定这是否是正确的方法,或者在这种情况下如何使用它。
这是我的代码:
import feedparser
rss_url = "https://whosebug.com/jobs/feed"
feed = feedparser.parse(rss_url)
items = feed["items"]
for item in items:
title = item["title"]
try:
tags = []
tags.append(item["category"])
print(title + " " + str(tags))
except:
print("Failed")
category
on feedparser items 基本上是 tags
列表中第一个元素的别名,它基本上是更多 feedparser 项目的列表,每个都有一个 term
属性包含标签名称。
您可以直接访问条款:
categories = [t.term for t in item.get('tags', [])]
您的代码是:
for item in items:
title = item["title"]
categories = [t.term for t in item.get('tags', [])]
print(title, ', '.join(categories))