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')

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

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

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

а какую cms использовать для ресурса собираешься?

dima1981 ★
()
Последнее исправление: dima1981 (всего исправлений: 1)

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

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

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

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

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

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

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

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

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

Kilte ★★★★★
()

Вот они срипткидисы которые ддосят ЛОР!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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