Python 意外重命名文件中的字段

Python 意外重命名文件中的字段,python,beautifulsoup,python-requests,rss,lxml,Python,Beautifulsoup,Python Requests,Rss,Lxml,我使用PythonBS4/lxml解析xml格式的RSS提要(特别是)。我发现,在从接收页面数据的请求到BS4从文本读取页面数据的转换过程中,链接字段的名称正在更改。具体来说,res.text包含。。。https://foo.itch.io/bar...但将其读入BS4/lxml并打印,结果是。。。https://foo.itch.io/bar...,BS4无法正确解析。我的代码可用,第237行 我可以提供一个项目的精简版本,不需要登录和日志,以便于测试 使用简化代码编辑: import req

我使用PythonBS4/lxml解析xml格式的RSS提要(特别是)。我发现,在从接收页面数据的请求到BS4从文本读取页面数据的转换过程中,链接字段的名称正在更改。具体来说,res.text包含
。。。https://foo.itch.io/bar...
但将其读入BS4/lxml并打印,结果是
。。。https://foo.itch.io/bar...
,BS4无法正确解析。我的代码可用,第237行

我可以提供一个项目的精简版本,不需要登录和日志,以便于测试

使用简化代码编辑:

import requests
from bs4 import BeautifulSoup
res = requests.get("https://itch.io/feed/sales.xml")
soup = BeautifulSoup(res.text, 'lxml')
print(soup.item.link)
预期行为:打印“https://itch.io/s/12345/foobar“(无论RSS中最新的链接是什么)
实际行为:Prints”“

lxml
是lxml的HTML解析器,
lxml
xml
是lxml的xml解析器。(请参阅指向文档的答案)

因此,您应该使用
lxml
xml
解析器,而不是使用
lxml
解析器

import requests
from bs4 import BeautifulSoup
res = requests.get("https://itch.io/feed/sales.xml")
soup = BeautifulSoup(res.text, 'lxml-xml')
print(soup.item.link.text)
输出:
https://itch.io/s/38593/halloween-event-sale

它会这样变化吗?尽管它发生了变化,但它对你来说重要吗?你到底想从xml解析什么?是的,它会这样变化,尽管我不明白为什么会这样。因此,就我所知,链接的主体无法寻址,soup.link返回字符串“”,而不是我试图获取的实际链接。