Ваш загруженный html просто в порядке.Проблема в вашей parseComicList
функции, потому что она ищет имя класса, которого нет в очищенном HTML-коде.Позвольте мне объяснить, что происходит.
Когда вы загружаете www.gocomics.com в своем браузере и просматриваете html, есть несколько тегов img с именами классов img-fluid lazyloaded
, которые вы ищете, и другиес именами классов lazyload img-fluid
.Прокрутите немного и снова проверьте HTML.Вы заметите, что теги img с именами классов lazyload img-fluid
изменились на img-fluid lazyloaded
.См. Скриншот ниже:

Это поведение, используемое этим сайтом, чтобы определить, ожидает ли изображение отложенную загрузку или нет, что обрабатываетсявнутренне с JavaScript, когда вы прокручиваете сайт.Этот тип сценария отложенной загрузки обычно проверяет, находится ли изображение в окне просмотра или близко к входу в окно просмотра, и это делается путем сравнения положения прокрутки с положением изображения.Только тогда имена классов lazyload img-fluid
изменятся на img-fluid lazyloaded
.
Ваш вызов извлечения загружает только html-страницу этой страницы, но браузер не взаимодействует с этим кодом, то есть прокрутка отсутствует.Это означает, что, основываясь на моих наблюдениях о том, как имена классов этого сайта будут работать во время прокрутки, вы не найдете изображения с именами классов img-fluid lazyloaded
.
Do html.indexOf('lazyload img-fluid')
для поиска.для изображений с начальным именем класса, и это будет работать.См. Пример ниже:

Еще один совет, который не подвергает вас ленивой загрузке сайта, - поиск тегов предков со статическим классом.имена, такие как comic__image
или item-comic-image
, а затем поиск первого тега img сразу после этой позиции.В некоторых случаях это может быть лучше, потому что это поможет вам убедиться, что вы сопоставляете только изображения внутри постов, вместо того, чтобы сопоставлять любые ленивые изображения загрузки сайта.В этом случае он начинает пропускать первое изображение, которое находится внутри верхнего баннера.См. Пример ниже:
