Python3 XML 获取标签之间的文本

标签 python xml

我在 Python 3 中有以下代码。我正在使用 import xml.etree.ElementTree as ET用于 XML 解析。 webScraper 从网页抓取文本,但在该网站上 <link></link> 之间有文本标签,但程序返回 None。我可以看到该程序找到了所有标签,但在应该打印标签结果的地方却只显示“无”。

    result = webScrapper.scrappPart("http://www.dn.se/rss/senaste-nytt/", "body")
    root = ET.fromstring(result)
    for items in root.findall('.//item'):
        link = items.find('link')
        print(link.text)

有人知道如何解决这个问题吗?

最佳答案

由于您的 URL 实际上是 RSS 提要,因此您最好在其上使用 RSS 提要解析器,而不是尝试推出自己的解析器。幸运的是,这就是原因feedparser存在。看看这个:

import feedparser as fp

feed = fp.parse("http://www.dn.se/rss/senaste-nytt/")
for entry in feed["entries"]:
    print(entry["link"])

这会返回

http://www.dn.se/sport/fotboll/cavani-het-i-svalt-psg/
http://www.dn.se/sport/fotbolls-em/kompany-missar-em/
http://www.dn.se/nyheter/sverige/livvaktens-slakting-fick-praktik-hos-sahlin-trots-myndighetens-avslag/
http://www.dn.se/sport/st-louis-andraperiod-avgjorde/
http://www.dn.se/nyheter/varlden/syrien-spanska-journalister-fria/
http://www.dn.se/sport/dansk-dynamit-ska-stoppa-tre-kronor/
http://www.dn.se/nyheter/sverige/mordmisstankt-slappt-ur-haktet-1/
http://www.dn.se/nyheter/varlden/ekonomiprofessor-loste-ekvation-togs-for-terrorist/
http://www.dn.se/sport/fotboll/leicester-firade-med-storseger/
http://www.dn.se/ekonomi/protester-mot-ny-granskontroll-urartade/
http://www.dn.se/sport/ishockey-vm/jimmie-ericsson-jag-ar-beredd-gora-allt-for-att-vinna/
http://www.dn.se/sport/ishockey-vm/schweiz-straffat-av-kazakstan/
http://www.dn.se/nyheter/varlden/natosoldater-dodade-i-afghanistan-2/
http://www.dn.se/sport/forsta-matchen-till-eslov/
http://www.dn.se/nyheter/sverige/drunknad-man-hittad-av-dykare/
http://www.dn.se/ekonomi/tagstopp-efter-olycka/
http://www.dn.se/sport/kristianstad-till-sm-final/
http://www.dn.se/sthlm/en-person-attackerad-med-kniv-i-centrala-stockholm/
http://www.dn.se/nyheter/sverige/inga-spar-efter-forsvunnen-22-arig-student/
http://www.dn.se/sport/fotboll/forlust-for-rydstrom-i-tranardebuten/
http://www.dn.se/nyheter/sverige/manga-grasbrander-runt-om-i-landet/
http://www.dn.se/nyheter/sverige/tre-gripna-efter-skottlossning-i-malmo/
http://www.dn.se/sport/fotboll/elfsborg-ar-med-i-toppen-igen/
http://www.dn.se/sport/em-silver-till-rissveds/

我认为这就是您正在寻找的内容。

关于Python3 XML 获取标签之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37093945/

相关文章:

python - 获取多变量模型中单个样本的分数?

java - 针对 XSD 的 XML 无效

java - 尝试通过URL访问tomcat中的xml文件,出现404错误

java - XMLGregorianCalendar 编码时未以正确的格式显示

python - 如何根据条件根据另一个相同长度的嵌套列表将列表中的项目替换为空字符串

python - 当您只需运行 setup.py 文件时,为什么要使用 Pip 或 PyPI

python - pd.read_csv 无法加载 csv 文件的第一列,并且在 Excel 中打开和保存时文件大小发生变化

python - 在各种游标/连接上使用 BEGIN TRANSACTION/ROLLBACK/COMMIT

xml - 使用 xslt 仅更改少数 XML 元素,而其他所有元素保持不变

xml - XSL 递归排序