LINUX.ORG.RU
ФорумTalks

Скрипт для выгрузки всех скриншотов linux.org.ru и описания. Локально.

 , , , ,


6

4

Написал на досуге скрипт на python3 для выгрузки локально всех скриншотов галлереи лора с 1999 года.
Решил просто замутить галлерею отдельную с историей таких скриншотов, вдохновился лором, и решил нарабатывать навыки написания кода на python (пишу 2 неделю на нем), до этого писал 6 лет на php.
Весь код открыт, находится на github:

https://github.com/foozzi/linux.org.ru-gallery

Буду рад помощи и вашим доработкам скрипта, вскоре запущу (если администрация разрешит), ресурс с галереей этих скриншотов онлайн.

UPD 07.03.17:
Собственно прислушался к техническим пожеланиям grazor и создал модуль почти полноценный, спасибо остальным за проявленный интерес.

★★★

Последнее исправление: noname_user (всего исправлений: 3)

Спасибо. Кстати, почему бы не генерировать время от времени архивы с скриншотами?

Возможно, сделаю это на базе gitlab.com + GitLab CI.

anonymous00 ★★
()
Ответ на: комментарий от anonymous00

Это пока скажем бетка лоадера галлереи, буду дорабатывать с вашими пожеланиями.
Буду признателен, если это начнет расширятся за счет сообщества :)

noname_user ★★★
() автор топика

Забавно, хоть и довольно специфично.

решил нарабатывать навыки написания кода на python

Если хочешь и дальше осваивать питон и развивать проект, советую сразу разобраться и создать пакет. Из основного пригодится:

  • файл setup.py с метаинформацией,
  • файл __main__.py для запуска,
  • библиотека argparse для аргументов командной строки,
  • библиотека logging для логгирования.

Для тестирования и отладки нужно будет выполнить python setup.py develop в виртуальное окружение. Для запуска — python -m lor_gallery.

from bs4 import BeautifulSoup
import re
import requests

Нормальный способ, но интереса ради, можешь посмотреть на Scrapy (лично мне нравится вытаскивать данные по xpath и генерировать задания через yield) и <hipster-mode>всякие асинхронные aiohttp</hipster-mode>.

grazor ★★
()
Последнее исправление: grazor (всего исправлений: 2)
Ответ на: комментарий от grazor

Спасибо, действительно хороший комментарий, это все учту, завтра все запушу с изменениями для удобства использования скрипта и более «питоничной» наглядности! tnx man!)

noname_user ★★★
() автор топика
Ответ на: комментарий от noname_user

Пробежался по коду, из того, что бросилось в глаза:

file = open(path + '/' + name + '.txt', 'w')

Тут используй with, как в случае выше.

path + '/' + name + '.txt'

base_path = os.path.abspath(os.path.dirname(__file__))
...
path = os.path.join(base_path, 'whatever', ..., '{}.txt'.format(name))
grazor ★★
()

вскоре запущу (если администрация разрешит)

Администрация это, конечно, хорошо. Вот только пользовали выкладывали скрины угадай под какой лицензией? Правильно. Свяжись с каждым автором и узнай, не против ли он, что ты будешь их скрины у себя размещать.

shrub ★★★★★
()
Ответ на: комментарий от NoobeR

тогда и количество путных комментариев по ключевым словам определяемых пользователем из списка, тоже прикольно.

dima1981
()
Ответ на: комментарий от grazor

Во во, коллега так ошибся на

/
, был не особо рад.

ggrn ★★★★★
()
Ответ на: комментарий от grazor

В случае с третьим питоном можно pathlib воспользоваться. Так удобнее как по мне.

Kilte ★★★★★
()
Ответ на: комментарий от Ygor

Эта штука все последовательно качает, фиг что заддосит она :).

ei-grad ★★★★★
()
Ответ на: комментарий от shrub

Тогда эта затея так и останется затеей ...)

noname_user ★★★
() автор топика
Ответ на: комментарий от dima1981

Скрины из описания - да, буду, по повод комментов не очень понял. Все технические правки сделаю, согласно ваших комментариев

noname_user ★★★
() автор топика
Ответ на: комментарий от noname_user

самопальный движок

надеюсь аякс джейквери и все такое там окажется, чтоб удобнее все вертеть масштабировать и тд тогда.

dima1981
()
Ответ на: комментарий от noname_user

еще хорошо бы уметь подгружать все скрины из поста а не только описания по требованию если такие есть.

dima1981
()
Ответ на: комментарий от shrub

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

noname_user ★★★
() автор топика
Ответ на: комментарий от noname_user

такое требуется

нет. делай то, что считаешь нужным

dima1981
()
Ответ на: комментарий от noname_user

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

dima1981
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.