Обходим веб-галереи. Анонс gallerycrawler 0.1.0
О новом инструменте для обхода веб-галерей и сбора данных из них.
Для проекта «Нюрнбергский эпилог» мне понадобилось подобрать иллюстрации к аудио.
В сети относительно просто отыскать различные веб-галереи с нужными материалами (фото, видео), но вот искать в них такие, которыми можно проиллюстрировать тот или иной фрагмент аудиозаписи неудобно. Дело усугубляется тем, что материалы обычно располагаются на нескольких страницах, по которыми приходится перемещаться туда-сюда в поисках нужного.
Первое, что пришло в голову — это использовать что-нибудь типа
Поэтому я накидал gallerycrawler. Приложение маленькое, но позволяет довольно просто при помощи css-селекторов создать обходчика для веб-галереи.
Всё довольно просто и минималистично. Возможно кому-то окажется полезным.
Примеры обходчиков можно подсмотреть здесь.
Код приложения, как обычно доступен желающим: gallerycrawler на GitHub.
Проще!
В сети относительно просто отыскать различные веб-галереи с нужными материалами (фото, видео), но вот искать в них такие, которыми можно проиллюстрировать тот или иной фрагмент аудиозаписи неудобно. Дело усугубляется тем, что материалы обычно располагаются на нескольких страницах, по которыми приходится перемещаться туда-сюда в поисках нужного.
Первое, что пришло в голову — это использовать что-нибудь типа
scrapy
для разбора страниц. Однако поглядев пристальнее, я понял, что овчинка не будет стоить выделки, то есть заводить что-то большое, типа указанного приложения будет не с руки.Поэтому я накидал gallerycrawler. Приложение маленькое, но позволяет довольно просто при помощи css-селекторов создать обходчика для веб-галереи.
from galerycrawler.toolbox import Crawler, dump
class MyCrawler(Crawler):
"""Обходчик описывается классом-наследником Crawler."""
selector_listing_next: str = '.page-next a' # ссылка на сл. страницу
selector_listing_thumbnails: str = '.thumbnail img' # мелкое изображение
selector_details: str = '.page-details a' # ссылка на страницы с деталями
selector_details_title: str = '.page-title' # заголовок
selector_details_img: str = '.image img' # оригинальное изображение
selector_details_author: str = '.image-author' # автор
# Запускаем обход и создание страницы
# с содержимым галереи.
dump(
crawler=MyCrawler,
url='https://mysite.some/gallery/',
probe=True, # Этот флаг можно использовать для отладки обходчика
)
Всё довольно просто и минималистично. Возможно кому-то окажется полезным.
Примеры обходчиков можно подсмотреть здесь.
Код приложения, как обычно доступен желающим: gallerycrawler на GitHub.
Проще!
На заметку
В соответствующем разделе вы можете зарегистрировать сообщество по интересам, чтобы о нём узнали и другие посетители сайта — возможно, так вы отыщите новых единомышленников и друзей.. И не важно виртуальное оно, или вполне реальное, давно существующее, или только-только придуманное.