1

由于我不确定我面临的问题是错误还是我缺乏知识,因此我想寻求您的帮助。

情况是,当尝试使用 PyQuery 解析这个 url ( http://ies.ieee-ies.org/resources/media/publications/TIEpub/1988_2013.htm ) 时,显然它只加载标题,而正文被忽略:

>>> import urllib2
>>> from pyquery import PyQuery as pq

>>> response = urllib2.urlopen('http://ies.ieee-ies.org/resources/media/publications/TIEpub/1988_2013.htm').read() # 9MB page
>>> len(response)
9835026
>>> dom = pq(response)
>>> dom.html()
u'<head><title>IEEE Transactions on Industrial Electronics</title></head><body><h1 align="center">&#13;\n   <img border="0" src="ieeelogo.gif"/><font color="#FF6600">\xa0IEEE Tr
ansactions on Industrial Electronics\xa0&#13;\n   <img border="0" src="ieslogo.gif"/></font>&#13;\n   </h1><h2 align="center">&#13;\n   Volume 35, \xa0Number 1, Feb 1988 \xa0\xa
0\xa0\xa0\xa0\xa0\xa0\xa0\xa0&#13;\n   <a href="http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=41"><font size="4">Access to the journal on IEEE XPLORE</font></a><font s
ize="4"> </font>\xa0\xa0\xa0&#13;\n   <a href="http://tie.ieee-ies.org/"><font size="3">IE Transactions Home Page</font></a><font size="4"> </font> &#13;\n   </h2><hr/><br/><br/
></body>'

PyQuery 上的 HTML 解析是否有我不知道的大小限制?

PS:我有一个使用不同页面导致相同内容的工作,但我想知道这是什么原因。

4

1 回答 1

2

我很确定问题不在于大小,而在于该页面的 HTML 非常损坏。例如,它有 2000 多个<html>标签(正确的数字是1)。我很震惊浏览器可以理解它,但是 Mozilla 开发人员在这种事情上拥有丰富的经验,我想 PyQuery 开发人员虽然无疑是勤奋的,但可能没有这么多。如果您可以从其他页面获取内容,那么一定要这样做,特别是如果该页面的损坏程度较低。

于 2013-05-13T15:56:01.010 回答