학교 도서관에서 구독하고있는 자료 목록에서 자원/데이터베이스 이름 및 ID 목록을 가져 오려고합니다. 다른 리소스를 나열하는 페이지가 있으며 urllib2를 사용하여 페이지를 가져올 수 있지만 BeautifulSoup에 페이지를 전달하면 목록의 첫 번째 리소스에 대한 항목의 끝 부분 바로 전에 트리가 잘립니다. 문제는 검색 세트에 리소스를 추가하는 데 사용되는 이미지 링크에있는 것 같습니다. 이 일이 잘릴 경우, 여기있는 HTML이다 :Beautiful Soup가이 페이지를 자르는 이유는 무엇입니까?
<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>
그리고 여기 내 파이썬 코드 :
BeautifulSoup로의 버전에서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
, 오프닝 <a href...>
가 표시되지만 <img>
하지 않는, <a>
은 열린 태그의 나머지 부분과 마찬가지로 즉각 닫히고 </html>
까지 계속됩니다.
"add to sets"이미지에서 볼 수있는 유일한 구별 특성은 name 및 id 특성을 갖는 유일한 특성입니다. 나는 그것이 왜 BeautifulSoup이 즉시 파싱을 멈추게하는지 알 수 없다.
참고 : 저는 거의 완전히 파이썬에 대해 새지만, 제대로 이해하고있는 것처럼 보입니다.
도움 주셔서 감사합니다.
에서 사람들이 볼 수있는 코드를 게시 할 수 있습니까? 과거에는 아름다운 스프를 많이 사용했습니다. 이것은 할 일처럼 들리지 않습니다. – Vasil
잘라낸 후 * 올바른 부분을 붙여 넣으면 원본 html 파일에서 가져옵니다. – nosklo
이제는 BS와 다른 HTML 사본을보고 있다는 것을 알게되었으므로 질문을 편집하거나 내 대답을 아래쪽에 두어야합니까? 그리고 너 무슨 뜻이야, 누스 클로? – Tim