Как сохранить все изображения со страницы с помощью beautiful soup?

#python #python-3.x #parsing #web-scraping #beautifulsoup

#python #python-3.x #синтаксический анализ #веб-очистка #beautifulsoup

Вопрос:

Я пытаюсь получить все изображения с веб-сайта и сохранить их в своем локальном, используя beautiful soup. Я могу получить только изображение, доступное на странице, но не могу проанализировать изображение, доступное после обновления страницы, когда я спускаюсь по странице.

 from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
from time import sleep

html = urlopen('https://www.reddit.com/r/wallpapers/top/?t=all')
bs = BeautifulSoup(html, 'html.parser')
images = bs.find_all('img', {'src':re.compile('.jpg')})
for image in images: 
    print(image['src'] 'n')
  

выше приведен код, который я написал для этого. он будет анализировать только несколько изображений в файле, а не все из них

 https://external-preview.redd.it/s7yoklHciONffazTYc70ba0zRV81F2FALn7wweilPbs.jpg?width=640amp;crop=smartamp;auto=webpamp;s=a88fa282e05b654928d8713d702a134ef72cbf46

https://external-preview.redd.it/gIdBuW-a4BIXktpScXUlwJysblF4-QcZ03KbUIa2UuI.jpg?width=640amp;crop=smartamp;auto=webpamp;s=baa49611bba27a8af223e805ea5419788b9e4487

https://external-preview.redd.it/SZracndjx4e_Yp1WRU-QzA400cdHcMsCMnE40M6v5u4.jpg?width=640amp;crop=smartamp;auto=webpamp;s=b6ab155357a23678e04116dc18ef72637960f311

https://external-preview.redd.it/_NeB4f9cyQBWVTV7s_O0tlC7-Z5Yomm0_J0h3l3wCbE.jpg?width=640amp;crop=smartamp;auto=webpamp;s=305a530f1f6dd7bf23d93bca2f15f16d6daf8aa0

https://external-preview.redd.it/NrD2CQ1PX2oF35bY7mwGiP2aIyDbYWpoV-6mFjUOlTo.jpg?width=640amp;crop=smartamp;auto=webpamp;s=2ca38c2776118e131f53b02802f02bf930ac0ff8

https://preview.redd.it/n1ci0trfgrey.jpg?width=640amp;crop=smartamp;auto=webpamp;s=81ca19c80ac05fda63202c8e2384db33ac5d72a7
  

итак, как я могу проанализировать много изображений с этой страницы?

Ответ №1:

Дополнительный контент отсутствует без прокрутки.

Вы можете попробовать имитировать любые запросы, которые страница делает для дополнительного содержимого изображения при прокрутке вниз. Быстрый просмотр вкладки dev не дал ничего, что выглядело бы быстро и легко воспроизводимым надежным способом.

Я бы, вероятно, пошел с Selenium и реализовал метод прокрутки до конца списка, а затем собрал все изображения в этой точке.

Если вы Загуглите python scrape reddit , есть много примеров. Я предполагаю, что на SO уже существует прокручиваемый ответ reddit.