문제

모든 웹 페이지에서 이미지의 URL을 가져 오는 코드를 만들고 코드는 Python이며 BeutifulSoup 및 httplib2를 사용합니다. 코드를 실행하면 다음 오류가 발생합니다.

Look me http://movies.nytimes.com          (this line is printed by the code)
Traceback (most recent call last):
File "main.py", line 103, in <module>
visit(initialList,profundidad)
File "main.py", line 98, in visit
visit(dodo[indice], bottom -1)
File "main.py", line 94, in visit
getImages(w)
File "main.py", line 34, in getImages
iSoupList = BeautifulSoup(response, parseOnlyThese=SoupStrainer('img'))
File "/usr/local/lib/python2.6/dist-packages/BeautifulSoup.py", line 1499, in __init__
BeautifulStoneSoup.__init__(self, *args, **kwargs)
File "/usr/local/lib/python2.6/dist-packages/BeautifulSoup.py", line 1230, in __init__
self._feed(isHTML=isHTML)
File "/usr/local/lib/python2.6/dist-packages/BeautifulSoup.py", line 1263, in _feed
self.builder.feed(markup)
File "/usr/lib/python2.6/HTMLParser.py", line 108, in feed
self.goahead(0)
File "/usr/lib/python2.6/HTMLParser.py", line 148, in goahead
k = self.parse_starttag(i)
File "/usr/lib/python2.6/HTMLParser.py", line 226, in parse_starttag
endpos = self.check_for_whole_start_tag(i)
File "/usr/lib/python2.6/HTMLParser.py", line 301, in check_for_whole_start_tag
self.error("malformed start tag")
File "/usr/lib/python2.6/HTMLParser.py", line 115, in error
raise HTMLParseError(message, self.getpos())
HTMLParser.HTMLParseError: malformed start tag, at line 942, column 118

누군가가 오류를 고치거나 예상하는 방법을 설명 할 수 있습니다.

도움이 되었습니까?

해결책

그 오류를 구체적으로 포착하려면 코드가 다음과 같이 보이게 변경하십시오.

try:
    iSoupList = BeautifulSoup(response, parseOnlyThese=SoupStrainer('img'))

except HTMLParseError:
    #Do something intelligent here

다음은 블록을 제외한 Python의 시도에 대한 더 많은 독서입니다.http://docs.python.org/tutorial/errors.html

다른 팁

BeautifulSoup의 최신 버전을 사용하고 있습니까?
버전 3.1.x의 알려진 문제로 보인다. 왜냐하면 기형 HTML을 처리 할 때 훨씬 더 나쁜 새 파서 (SGMLPARSER 대신 HTMLPARSER)를 사용하기 시작했기 때문이다. 이에 대한 자세한 정보를 찾을 수 있습니다 BeautifulSoup 웹 사이트.
빠른 솔루션으로 구형 버전을 사용할 수 있습니다 (3.0.7a).

내가 끈이 있었을 때 그 오류가 발생했습니다 =& 내 HTML 문서에서. 내가 그 줄을 교체했을 때 (내 경우에 = 및) 그런 다음 더 이상 그 구문 분석 오류를받지 못했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top