Я пытаюсь получить список имен и идентификаторов ресурсов / баз данных из списка ресурсов, на которые подписана моя школьная библиотека. Есть страницы со списком различных ресурсов, и я могу использовать 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, но, похоже, все хорошо понимаю.
Спасибо за вашу помощь!