我正在尝试从我的学校图书馆订阅的资源列表中提取资源/数据库名称和 ID 列表。有些页面列出了不同的资源,我可以使用 urllib2 来获取页面,但是当我将页面传递给 BeautifulSoup 时,它会在列表中第一个资源的条目结束之前截断它的树。问题似乎出在用于将资源添加到搜索集中的图像链接中。这是事情被切断的地方,这是HTML:
<a href="http://www2.lib.myschool.edu:7017/V/ACDYFUAMVRFJRN4PV8CIL7RUPC9QXMQT8SFV2DVDSBA5GBJCTT-45899?func=find-db-add-res&resource=XYZ00618&z122_key=000000000&function-in=www_v_find_db_0" onclick='javascript:addToz122("XYZ00618","000000000","myImageXYZ00618","http://discover.lib.myschool.edu:8331/V/ACDYFUAMVRFJRN4PV8CIL7RUPC9QXMQT8SFV2DVDSBA5GBJCTT-45900");return false;'>
<img name="myImageXYZ00618" id="myImageXYZ00618" src="http://www2.lib.myschool.edu:7017/INS01/icon_eng/v-add_favorite.png" title="Add to My Sets" alt="Add to My Sets" border="0">
</a>
这是我的python代码:
import urllib2
from BeautifulSoup import BeautifulSoup
page = urllib2.urlopen("http://discover.lib.myschool.edu:8331/V?func=find-db-1-title&mode=titles&scan_start=latp&scan_utf=D&azlist=Y&restricted=all")
print BeautifulSoup(page).prettify
在 BeautifulSoup 的版本中,开头会<a href...>
显示,但<img>
不会,并且<a>
会立即关闭,其他打开的标签也是如此,一直到</html>
.
对于这些“添加到集合”图像,我看到的唯一显着特征是它们是唯一具有 name 和 id 属性的图像。不过,我不明白为什么这会导致 BeautifulSoup 立即停止解析。
注意:我对 Python 几乎是全新的,但似乎完全理解它。
感谢您的帮助!