To jest procedura beautifulsoup
, która pobiera treści we wszystkich znacznikach html <p>
. Po pobraniu treści z niektórych stron internetowych pojawia się błąd z informacją, że maksymalna głębokość rekurencji została przekroczona.Beautifulsoup, maksymalna głębokość rekursji osiągnęła
def printText(tags):
for tag in tags:
if tag.__class__ == NavigableString:
print tag,
else:
printText(tag)
print ""
#loop over urls, send soup to printText procedure
Dno śladu:
File "web_content.py", line 16, in printText
printText(tag)
File "web_content.py", line 16, in printText
printText(tag)
File "web_content.py", line 16, in printText
printText(tag)
File "web_content.py", line 16, in printText
printText(tag)
File "web_content.py", line 16, in printText
printText(tag)
File "web_content.py", line 13, in printText
if tag.__class__ == NavigableString:
RuntimeError: maximum recursion depth exceeded in cmp
mógłbyś wyjaśnić. Jest to przykładowe wyjście z poprzedniego adresu URL, ponieważ ulega awarii. "To, co kiedyś było dwumiesięcznym procesem, dla wielu firm jest obecnie dla wielu firm pięciodniowym procesem: Problem z podniesieniem 1 do 2 milionów w przypadku zamiennego ..." to zawiera łańcuchy, a także ciągi o 1 długości . – yayu
W której części nie rozumiesz, iteracji lub iteracji? Oczywiście wszystko to zależy od zrozumienia, w jaki sposób działa kod. –
Czy możesz wyjaśnić, co oznacza "uderzasz w strunę"? Co masz na myśli mówiąc "hit"? Czy cały dokument HTML nie jest parsowany przez Beautiful Soup do DOM-a początkowo jako ciąg - i czy same znaczniki nie są ciągami znaków? Wystąpił ten sam błąd, po prostu próbując zastąpić wartości na prostej stronie HTML z 12 zakotwiczeniami, ale nie jest jasne, co wywołuje rekursję. – Praxiteles