Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么从站点检索的xml看起来不像web浏览器内容?_Python_Http - Fatal编程技术网

Python 为什么从站点检索的xml看起来不像web浏览器内容?

Python 为什么从站点检索的xml看起来不像web浏览器内容?,python,http,Python,Http,我一直在尝试获取在此处找到的xml数据: 您会注意到xml数据在web浏览器中很容易读取。但是,当我尝试使用urllib2加载它时,会出现以下问题。(基于上的教程): 输出: '<?xml version="1.0" encoding="UTF-8" ?>\n<Mirrors>\n <Mirror>\n <id>1</id>\n <mirrorpath>http://thetvdb.com</mirror

我一直在尝试获取在此处找到的xml数据:

您会注意到xml数据在web浏览器中很容易读取。但是,当我尝试使用urllib2加载它时,会出现以下问题。(基于上的教程):

输出:

'<?xml version="1.0" encoding="UTF-8" ?>\n<Mirrors>\n  <Mirror>\n    <id>1</id>\n    <mirrorpath>http://thetvdb.com</mirrorpath>\n    <typemask>7</typemask>\n  </Mirror>\n</Mirrors>\n'
”\n\n\n 1\nhttp://thetvdb.com\n 7\n\n\n'
我曾尝试过其他网站(例如:python.org),它似乎很管用。这个问题似乎与库无关(我在urllib、httplib、httplib2等方面也遇到过同样的问题),而且这个问题似乎特定于我试图获取的站点

有什么好处

编辑:好吧,我似乎对我“应该”看到的东西感到困惑。出于好奇,有人知道“脚本”部分是什么吗?我正在使用google chrome(稳定版)查看页面。

如果页面加载到web浏览器中,它看起来与显示的数据完全不同。我正在使用此信息更新问题..”

当我使用Chrome获取示例URL时,我得到的正是Python代码所获得的,原始数据

您的浏览器正在自动神奇地检测XML并将其格式化为HTML。它与Python得到的数据“完全相同”,即原始数据。浏览器让您无法理解您应该期望的内容


注意:不要相信你所看到的或开发者工具信息所报告的内容,它向你展示了HTML,在这种情况下,它是围绕Chrome神奇地生成的输出生成的一个包装器,可以通过代码折叠(JavaScript)和所有其他功能交互显示XML,而不是服务器实际发送给您的内容,这是您在使用View Source时应该看到的内容。

在某些情况下,网站会提供一个样式表,告诉它如何将原始XML转换为(X)HTML,因此呈现和文字内容可能会非常不同。然而,我在这里看不到这一点;您提供的URL(在Chrome或Firefox中)与您的脚本所提供的内容完全相同,因此我不想知道您有什么不同。

您有输出。那么问题出在哪里?你说的是什么错误?我觉得输出很好。你有什么问题?您的xml似乎有效,您是否尝试使用xml库对其进行解析?@Celada,是吗?如果页面加载到web浏览器中,它看起来与显示的数据完全不同。我正在用这些信息更新这个问题…@CédricJulien我希望看到我的网络浏览器中显示的内容,但这可能是一个愚蠢的假设。不过,为什么整个脚本部分都不见了?谢谢你的回复!这很好听。我将继续使用xml库解析它,但出于好奇,我看到的这个额外的“脚本”部分是什么(运行google chrome)?我在Win 7上使用chrome,在xml中没有看到任何脚本元素。当你打开它的时候,你在做什么特别的事情吗?
'<?xml version="1.0" encoding="UTF-8" ?>\n<Mirrors>\n  <Mirror>\n    <id>1</id>\n    <mirrorpath>http://thetvdb.com</mirrorpath>\n    <typemask>7</typemask>\n  </Mirror>\n</Mirrors>\n'