Я читаю книгу о Python прямо сейчас. Существует небольшой проект для домашней работы: «Напишите программу, которая отправляется на сайт для обмена фотографиями, такой как Flickr или Imgur, ищет категорию фотографий, а затем загружает все результирующие изображения». Предлагается использовать только библиотеки веб-браузера, запросов и библиотек bs4.Beautifulsoup возвращает неполный html
Я не могу сделать это для Flickr. Я обнаружил, что анализатор не может войти внутрь элемента (div class = "взаимодействие-view"). Используя «Inspect element» в Chrome, я вижу, что внутри него есть несколько элементов «div» и «a». Однако, когда я использую библиотеку bs4, он не видит этого.
Мой следующий код:
#!/usr/bin/env python3
# To download photos from Flickr
import requests, bs4
search_name = "spam"
website_name = requests.get('https://www.flickr.com/search/?text='
+ search_name)
website_name.raise_for_status()
parse_obj = bs4.BeautifulSoup(website_name.text, "html.parser")
elements = parse_obj.select('body #content main .main.search-photos-results \
.view.photo-list-view.requiredToShowOnServer \
.view.photo-list-photo-view.requiredToShowOnServer.awake \
.interaction-view')
print(elements)
Это только печатает:
[<div class="interaction-view"></div>, <div class="interaction-view"></div>...]
Без каких-либо вложенных элементов, и я не понимаю, почему ... Спасибо!
Вы можете исправить блок кода? первая строка должна быть '#!/usr/bin/env python3', а затем' Soup.select' должен быть 'parse_obj.select'. Это позволяет людям воспроизводить – hansaplast
Готово. Спасибо. – Trarbish