Я новичок здесь. У меня небольшой опыт программирования.
Я изучаю Python по https://nostarch.com/automatestuff/
В книге есть задание: программа, которая отправляется в Имгур, ищет категорию фотографий и затем загружает всеПолученные изображения. У меня вопрос: когда Imgur показывает страницу поиска, там 58 картинок (заголовков). Когда вы прокручиваете вниз, Imgur показывает плюс 58 изображений и т. Д. Я хочу скачать все это. Но я могу скачать только первые 58. Я попытался прокрутить страницу по Selenium, а после нее сделать выбор по BS4. Я попытался изменить параметры для выбора BS4. Но я получил только 58 фото. Что я сделал не так?
Мой код:
#! python
import requests, os,bs4, time
#from selenium import webdriver
#from selenium.webdriver.common.keys import Keys
os.makedirs('imgur', exist_ok=True)
print('What do you want?')
search=input()
url = 'https://imgur.com/search/score/all?q=' + search
#browser=webdriver.Firefox()
#browser.get(url)
#for i in range(3):
# htmlElem = browser.find_element_by_tag_name('html')
# htmlElem.send_keys(Keys.END)
# time.sleep(1)
res = requests.get(url)
res.raise_for_status()
soup=bs4.BeautifulSoup(res.text, "html.parser")
photos = soup.select('a img')
for photo in photos:
photoUrl='http:'+ photo.get('src')
res=requests.get(photoUrl)
res.raise_for_status()
photoFile = open(os.path.join('imgur', os.path.basename(photoUrl)), 'wb')
for chunk in res.iter_content(100000):
photoFile.write(chunk)
photoFile.close()
print('Done')