【发布时间】:2023-03-24 16:55:01
【问题描述】:
如何获取标题元素的文本值? 这甚至可以使用 Dom 元素吗? 我需要手动解析文本吗?
#-*-coding:utf8;-*-
#qpy:3
#qpy:console
import re
import urllib.request
from xml.dom import minidom
def download(url):
with urllib.request.urlopen(url) as res:
return res.read().decode('latin-1')
class RSSFeed(object):
def __init__(self, url):
self.url = url
self.raw_xml = download(url)
self.dom = minidom.parseString(self.raw_xml)
self.links = self.dom.getElementsByTagName('link')
def entries(self):
ret = {}
for element in self.dom.getElementsByTagName('entry'):
title = element.getElementsByTagName('title')[0]
print(title.toprettyxml())
def __str__(self):
return self.dom.toprettyxml()
feed_url = 'https://rickys-python-notes.blogspot.com/atom.xml?redirect=false&start-index=1&max-results=500'
feed = RSSFeed(feed_url)
dom = feed.dom
print(feedHow totries())
【问题讨论】:
-
sn-p 的最后两行应该做什么?
-
忽略那些我希望没人会注意到的行。
-
您可以查看[SO]: Print all xml child node using python。您需要知道 xml 的结构才能提取相关数据。那么您希望提取哪个节点文本?
-
我正在解析一个原子 RSS 提要,我需要所有 RSS 元素的文本值。注意我不能使用像 feedparser 或 lxml 这样的第 3 方模块。
-
“忽略那些我希望没人注意到的台词。”说什么?