Результаты поиска по запросу «

как написать парсер

»

Запрос:
Создатель поста:
Теги (через запятую):



парсер сделал сам песочница reactor-crw 

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

парсер,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,песочница,reactor-crw

Я видел несколько схожих решений и они либо не уже поддерживаются, либо являются подключаемыми библиотеками. Какие-то generic решения я не искал (см. пункт про велосипеды).

Что это?

Это CLI crawler, для выкачивания изображений (включая фул), gif, mp4, webm из страницы, которую вы укажите и сохранит все куда скажете. Если crawler найдет на странице пагинацию, то он попытается выкачать каждую страницу. Хотя вы можете указать так не делать.

Ссылка на проект на github.

Как начать?

Скачайте билд и запустите его из командной строки (для windows тоже). Windows может ругаться потому как это хрен пойми чей билд. Мак может ругаться потому что не может проверить поставщика. Линуксу насрать. Выполните .\reactor-crw_0.0.1_Windows_64bit.exe --help (либо ознакомьтесь с доступными флагами на странице github).

Пример запуска на windows:

Краткий FAQ

В:Какие страницы можно передавать?
О:Любые. Передайте ссылку на тег и будет выкачан весь контент по нему. Или ссылку на закладки. Если передать ссылку на конкретный пост, не забудьте указать флаг -o (--single-page).
В:Почему некоторые изображения не скачались?
О:Если качаете NSFW, то не забудьте указать флагом свои куки (посмотреть куки можно в браузере).
В:Что делает флаг -w (--workers)?
О: Насколько шустро все отработает. Укажите слишком большое значение и реактор вас накажет. Для тега в ~4500 изображений я ставил 3.
В:Ничего не работает/не качает. Какая-то ошибка и все.
О:Текущая версия далека от идеала. Если поделитесь деталями ошибки - буду весьма признателен.
В:Можно ли человеческий UI для всего этого?
О:Можно. Если кто-то умеет в UI, то я только за.
Если остались вопросы, постараюсь ответить в комментариях.
Развернуть

php языки программирования парсер NSFW allhentai.ru сделал сам 

Решил я парсер запилить и вроди получилось!

Ну а раз получилось, то решил поделиться с добрыми людьми. Не факт, что это кому-то понадобится, но мало ли.

Сам архив

Ну а ниже как это все работает

Зашел на днях я на сайт комиксов с переводом allhentai.ru. Сайтик интересный: комиксов много, перевод в большинстве качественный. Посидел, полистал и очень мне не понравился интерфейс: миниатюр переключать страницы надо или клавишами или кликом, в общем, для меня не удобно показалось. И решил я это дело поправить, выкачать себе на комп комиксы и полистать в удобном просмотрщике.

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

И в результате было применено несколько апдейтов данного парсера: 

- Интерфейс для скачивания с очень простыми функциями 

- Интерфейс для просмотра (все страницы комикса выстраиваются в одну колонку и дальше можно листать хоть чем) 

- Оглавление для перехода к нужной странице (спорное решение) 

 Как это дело работает: 

Написано оно на PHP, значит для него нужен сервер. Писался и тестировался парсер на Open Server (по идее и на других серверах с поддержкой ПХП тоже должно работать, как и на хостинге, но не тестировал). 

Теперь как это все настроить и запустить 

1. Скачать архивчик 

2. Установить Open Server (инструкция на сайте, хотятам все просто) 

3. Зайти в папку domains опенсервера и создать там какой-то домен, например, pars.hentai 

4. Извлечь в эту папку содержимое архива из папки uploads 

hentai □ X Поделиться Вид v О Н0 - • > domains > pars.hentai V О Р Поиск: pars.hentai Имя Дата изменения Тип Размер comieses 28.01.2021 0:01 Папка с файлами css 27.01.2021 23:59 Папка с файлами □ арр 27.01.2021 23:38 Файл "РНР" 2 КБ □ index 27.01.2021 1:11 Файл "РНР" 2 КБ □

 5. Добавить времени на выполнение скриптов, по умолчанию стоит 60с, рекомендую ставить час (на выкачивание 1189 файлов у меня ушло 15 мин) - Дополнительно -> Конфигурация -> PHP_7.3 (ну или какая версия там у вас будет)В открывшемся файле в строке max_execution_time ставим 3600 

Av PM* PhpMyAdmin 'HS* SQL менеджер m PHP Adminer Ш PHP ¡нформацт m Консоль <? Конф1гурац1Я ü Калькулятор at m IDN конвертер Перший запуск m Про прогрзму Подякувати... El п а Apache_2.4-PHP_7.0*7.1 а РНР_7.3 MariaDB-10.3 г Hosts файл ф Moi проекти ► Додатково Ш Прогреми ► и
Файл Правка Выделение Поиск Вид Перейти Инструменты PHP_7.3_php.ini Package Control Messages о ‘ ■ -» ;log_enrons_max_len = 1024 report_memleaks = off report_zend_debug = off ;tnack_ernors = off ;windows.show_crt_warning = off ;xmlrpc_errors = off ;xmlrpc_error_number = 0

6. Запустить Open Server 

7. В браузере перейти по домену (не забываем перед доменом http://), который создали, например, pars.hentai 

8. Зайти на allhentai.ru выбрать понравившийся комикс и скопировать часть урла в поле дляв вода и нажать "Старт" 

9. Дождаться надписи "Готово!" и нажать "Загрузить полученные комиксы" (все ранее скачанные комиксы подгрузятся) 

10. Перейти по ссылке из списка -> наслаждатьсяну как-то так 

X * JoyReactor - см X © allhentai парсер X 1 -1 Пролог хентай X дн view-source:allh X ■ Open Servi Моя гаремная академия,php,языки программирования,парсер,NSFW,allhentai.ru,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам


Парсер для allhentai.ru Введите символьное название комикса тот дагетпат акас!етпа е,php,языки программирования,парсер,NSFW,allhentai.ru,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам

11. Качать комиксов можно сколько угодно, главное, чтобы места на хардах хватило) Ну и главное, чтобы стрессоустойчивость у сайта была нормальной и не лег он под Ддос. 

Из минусов: 

 Работает только для allhentai.ru - потому его значимость мала, это просто поделка для себя, которой захотелось поделиться 

Нужен сервер с PHP 

Можно засрать себе харды ненужными комиксами и повысить нагрузку на allhentai 

Имена файлов одинаковые 

Ссылки названы по урлу 

Пока не получается качать двухтомные и более комиксы 

Нет превью страниц 

Удаление только вручную из папки comicses на сервере (!!! Ahtung НЕ УДАЛЯТЬ оттуда файл index.php) 

Но если и спрос будет, и желание, и свободное время, то допилю это. Если что криво сделано, не пинайте сильно,  а лучше сделайте конструктивное предложение)

Развернуть

reactor-crw парсер gui 

Такое дело.

Парсер меняется и после очередного (да, ненадолго меня хватило) изменения атрибутов мне стало влом клепать новую оболочку.
Теперь я сделал кое-что другое: новая оболочка подходит для запуска командной строки с любыми атрибутами, а значит подойдет для любой версии парсера. И вообще для любой программы, которую необходимо запускать из командной строки с атрибутами.


Для тех кто не знает, но заинтересовался:
1) По кнопке с иконкой папки выбираете исполняемый файл, который хотите запустить из командной строки;
2) По кнопке с иконкой плюса добавляете строку ключ-значение. Значение всегда вводится в кавычках. Значение вводить необязательно, можно использовать только ключ;
3) По кнопке с иконкой стрелка вниз можно загрузить список атрибутов из файла в формате json;
4) По кнопке с иконкой стрелка вверх можно сохранить список атрибутов в файл формата json для дальнейшего использования в будущем;
5) По кнопке с иконкой стрелка вправо запускаете командную строку с атрибутами, указанными в строке слева.
6) Строка редактируемая и запуск происходит именно с неё, а не из списка атрибутов. Это значит, что можно ручками исправить то, что не нравится, но в списке атрибутов эти изменения не сохранятся, а значит сохранить в файл из не удастся.


Изменения в текущей версии: Написано на авалонии, так что по идее, её можно собрать и для какой-нибудь абстрактной убунты, но это в будущем, потому что терминал там запускается явно по другому. В общем, если кому-то сильно надо, то пишите, я ускорюсь.



https://github.com/mnocard/reactor-crwUI/releases



PS: у парсера вышла версия 0.3.0.
Привет!,reactor-crw,парсер,gui
Развернуть

reactor-crw парсер gui 

Для лучшего понимания контекста см. этот пост 

Вдохновившись парой поддержавших меня анонов и многоуважаемым avpretty, я сделал для его парсера графическую оболочку - https://github.com/mnocard/reactor-crwUI.

Она написана на WPF, поэтому работает только на windows. Скачать можно здесь: https://github.com/mnocard/reactor-crwUI/releases

Для работы оболочки нужен парсер, который вы можете скачать здесь https://github.com/reactor-joy/reactor-crw/releases

Оболочка выполняет единственную функцию - печатает за вас аргументы и передает в запускаемую командную строку. Всё остальное делает сам парсер. Для минимальной работы нужно указать только путь к парсеру и адрес страницы. 

Остальные настройки соответствуют аргументам парсера. Единственное, что я позволил себе - переименовать workers в приоритет загрузки и установить максимальное ограничение в 4 единицы.

ш reactor_crwUI □ X Путь к r-crw Папка загрузки Адрес страницы Запуск Строка Cookies Q Тип контента: Q Изображение Q gif D webm Q mp4 Загружать только одну страницу Q Приоритет загрузки: 1,reactor-crw,парсер,gui

Знаю, что внешний вид довольно вырвиглазный, если кого-нибудь будет слишком сильно тошнить, могу включить стандартный вид windows приложений. Если будут предложения по изменению внешнего вида, с радостью выслушаю.

FAQ:

q: Зочем?

a: Просили.

q: В чем различия версий cut и full?

a: Full-версия содержит необходимые для запуска приложения элементы .net (по этой же причине такая большая разница в размерах файлов). Есть высокая вероятность, что они уже установлены у вас, поэтому попробуйте сначала cut-версию. Если не взлетит, пробуйте full. Если и full не взлетит, то пишите, что бы я встроил логгер, потом будем разбираться

q: У меня есть предложение.

a: Не держи всё в себе, поделись со мной любым удобным для тебя способом. Лучше публичным.

q: Не парсит!

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

q: Скачай одно, скачай другое... Почему нельзя всё в одном?

a: Есть определенные сложности с тем, чтобы связать приложение на C# и Golang. Как только и если мы с avpretty их преодолеем, так сразу сделаем (наверное) приложение 2 в 1.

PS: У приложения нет иконки. Было бы круто, если бы кто-нибудь нарисовал иконку 50*50 пикселей  в стиле реактора.

Развернуть

joyreactor парсер реактор скачать JoySave 

JoySave v33

Привет! Новая версия скачивалки. Минимум изменений.

У JoySaveO.33 Главная Настройки Debug Помощь Файл API □ X Старт Стоп № -1 - - Начало 6500 * Конец 7003 * Сейчас 0 - - No Адрес Начало Конец Папка Искл. теги 00 https://joyreactor.cc/tag/rn<|>Kn 6500 7003 gif 01 котэ/best 1 0 котики/best 02 https://joyreactor.cc/tag/geek 1 50 geek

Всё как обычно. Скачайте, распакуйте, запускайте. Не запускайте прямо из архива!

Изменения по сравнению с прошлой: Куки теперь задаются не как значение joyreactor_sses3, а полностью, ибо сейчас параметр стал называться joyreactor_sses4. Может он и раньше у кого-то так назывался и у кого-то не работало. Т.е теперь в поле Куки надо писать joyreactor_sses4=blablabla...

Версия для МакОси тотально сломана, пока не готова. Какая-то проблема у Маков с libcrypto.dylib. Может на праздниках разберусь. Похоже, оно и раньше работало только на моём компе и больше ни у кого. 

Может на праздниках найду немного времени, потому опрос: что еще доработать в скачивалке?

Что доработать в скачивалке?
Проще интерфейс
75 (45.2%)
Управление с командной строки
18 (10.8%)
Скрипты (напишите в комменты зачем)
8 (4.8%)
Стабильность (зависает, падает)
26 (15.7%)
Логи и статистика
16 (9.6%)
Другое (в комментах)
23 (13.9%)
Развернуть

reactor-crw парсер gui 

Выкатил новую версию с небольшими изменениями:
https://github.com/mnocard/reactor-crwUI/releases/tag/v.0.1.1

____________________________________________________________
r-crw-ui - это программа оболочка для запуска исполняемого файла через командную строку с какими-нибудь атрибутами. Изначально планировалась как оболочка для реакторовского парсера (https://github.com/reactor-joy/reactor-crw/releases), но сейчас с помощью этой оболочки можно запускать любые программы.

Краткое руководство:
1) По кнопке с иконкой папки выбираете исполняемый файл, который хотите запустить из командной строки;
2) По кнопке с иконкой плюса добавляете строку ключ-значение. Значение всегда вводится в кавычках. Значение вводить необязательно, можно использовать только ключ;
3) Справа от слова "Разделитель" можно ввести символ или строку разделитель, который будет подставляться между каждой парой ключ-значение;
4) По кнопке с иконкой стрелка вниз можно загрузить список атрибутов из файла в формате json;
5) По кнопке с иконкой стрелка вверх можно сохранить список атрибутов в файл формата json для дальнейшего использования в будущем;
6) По кнопке с иконкой стрелка вправо запускаете командную строку с атрибутами, указанными в строке слева.
7) Строка редактируемая и запуск происходит именно с неё, а не из списка атрибутов. Это значит, что можно ручками исправить то, что не нравится, но в списке атрибутов эти изменения не сохранятся, а значит сохранить в файл из не удастся.

____________________________________________________________
Решил больше не выкладывать cut-версии, так как они особой популярностью не пользуются. Все будущие версии буду full.

Изменения:
- Добавлен символ-разделитель между ключом и значением. По умолчанию разделитель - пробел. Можно использовать не только символ, но и любую строку, которая будет подставляться в каждую пару между ключом и значением.
- При сохранении конфигурационного файла, теперь сохраняются и настройки программы: путь к исполняемому файлу и символ-разделитель.
- При запуске программы она ищет в текущей папке последний сохраненный конфигурационный файл и автоматически загружает его. Если в файле отсутствует значение для параметра "Путь к исполняемому файлу" или полностью отсутствует конфигурационный файл , но при этом в папке есть другие исполняемые файлы, то выбирает для запуска первый в алфавитном порядке.

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

Если есть пожелания или замечены баги - пишите, будем разбираться.
Если хотите, чтобы ещё какие-то настройки были добавлены, тоже пишите.
Развернуть

reactor-crw парсер 

reactor-crw v0.1.0

Добрейший вечерочек. Новая версия reactor-crw и в ней уже используется graphql API реактора. Тот самый, на который, с недавних пор, переехала мобильная версия сайта. Ссылка на API.

Выглядит это следующим образом:

reactor-crw,парсер

На данный момент reactor-crw поддерживает два парсера, HTML и API. Оба доступны в виде подкоманд:
- ./reactor-crw html -p "http://joyreactor.cc/tag/Photo+art" -HTML версия
- ./reactor-crw api -t "Photo Art"  - API версия

Ограничения

Внимательный читатель заметил, что этап получения ссылок происходит дольше самого скачивания файлов. Хотя по идее мы ничего не парсим а сразу получаем нужный результат. Так происходит потому что у реактора довольно жесткие лимиты по запросам на API. Собственно, у меня получилось заблочить себя даже в плейграунде.

Таким образом, каждый новый запрос на API происходит с таймаутом в 2 секунды.

Что позволяет API парсер

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

./reactor-crw api -t "Photo Art" -с "строка с куками"

Это уберет из результата все что у вас заблокировано. Но так же отфильтрует контент, на который нужно явно подписаться, что бы видеть. Куки нужно брать мобильной версии сайта.

Список всех флагов и их описание на странице github.

Изменения в версии 0.0.2

- Была добавлена поддержка socks5 и прокси (работает для HTML и API). Пример:
./reactor-crw api -t "tag name" --socks5 "socks5://127.0.0.1:9050"

- Значительно повысилась скорость обработки файлов. Теги, которые качались по 10-12 минут, сейчас тащатся за 2-3.

Скачать последнюю версию здесь. Если обнаружили ошибку или есть идея для нового функционала - создайте issue.

p.s. да, мы все знаем про Kelly.

Развернуть

joyreactor парсер реактор скачать JoySave 

JoySave v31

Привет! Новая версия скачивалки. Ничего нового, пару багов поправил.

Для Windows качайте JoySave_v31.zip, для Linux x64 качайте JoySave_v31.tar.gz.

JoySave 0.31 л _ □ X Главная Настройки Помощь Старт Стоп Файл Ж 1 ’W Начало Ж 1 ’W Конец 100 ’W Сейчас Ж 6 ’W No Адрес Начало Конец Папка Искл. теги 00 https://blizzard.reactor.ccAag/Starcraft 1 150 star_craft 1 01 котэ/best 1 100 cat/best манул 02 https://joyreactor.ccAag/geek 50 geek

Всё как обычно. Скачайте, распакуйте, запускайте. Не запускайте прямо из архива!

Изменения по сравнению с прошлой: починил нумерацию строк в главной таблице и работу строк больше 49-й. Это всё.

Проект на GitHub, но исходники есть и в самой проге (запустите с параметром sources).

Времени сейчас совсем нет. Но всё равно пишите замечания и пожелания.

Развернуть

joyreactor парсер реактор скачать JoySave 

JoySave v29

Привет! Сделал новую версию скачивалки.

Для Windows качайте JoySave_v29.zip, для Linux x64 качайте JoySave_v29.tar.gz.

JoySave 0.29 л _ □ Главная Настройки Помощь Сайт https://api.joyreactor.cc Путь котэ/Ьеэ1 Файл 000002184_0_000001458_______котэ.]ред № 1 Начало 1 ж Конец 100 ж Сейчас 1 No Адрес Начало Конец Папка 00 https://blizzard.reactor.ccAag/Starcraft 1 150 star_craft 01 котэ/best 1 100 cat/best

Скачайте, распакуйте, запускайте. Не запускайте прямо из архива!

Изменения по сравнению с прошлой:

Исправил ошибку при которой на многих адресах не воспринималось дополнение /all, /best и т.п.

Работает теперь через API реактора. А значит будет качать даже те картинки, которые заблокированы. И быстрее работает.

Теперь можно вместо ссылки в адрес написать тег. Так можно качать даже заблокированные теги!

В альт. имени файла номер поста теперь будет на 1 цифру длиннее, так как запасу было мало.

По иконке в трее можно прятать окно. 

Проект на GitHub, но исходники есть и в самой проге (запустите с параметром sources).

Пишите замечания, ругательства, пожелания.

Развернуть

joyreactor парсер реактор скачать JoySave 

JoySave v26

Предлагаю всем заинтересованным скачивалку картинок.

JoySave 0.26 ^ _ □ X * Main Settings Help Start URL https://blizzard.reactor.cc Stop Path /tag/Starcraft File https://blizzard.reactor.cc/post/1812 ▲ 0 -w Begin 1 ’W End 150 ’W Page ▲ 2 ’W No URL Begin End Folder 00 https://blizzard.reactor.cc/tag/Starcn 1 150 star_craft 01

Умеет качать целый список разных тегов, для каждого группирует картинки в папки по некоторому количеству страниц этого тега на реакторе, умеет само паковать в CBZ (по сути - в ZIP, только переименованный).

Описание есть в самой проге. Там по-русски. Но опишу немного и тут.

На вкладке Main таблица заполняется ссылками для сохранения. Копируем адрес в строке адреса браузера, вставляем в клетку URL. Например, переходим в раздел "Котэ". Получится https://joyreactor.cc/tag/котэ. Хотим больше котиков? Переключаем на "Бездну" и копируем. Получается https://joyreactor.cc/tag/котэ/all. Вобщем, понятно. Но если копируете не на последней странице, то в адресе будет номер страницы, например https://joyreactor.cc/tag/котэ/best/2698. Вот его не надо. Номер подставляться будет автоматически, так что номер и последний "/" сотрите.

В столбцах Begin и End вводим номера страниц с какого по какое сохранять. Столбец Folder - это название папки, куда будет сохраняться картинки. Т.е. если введем "SuperCat", то будет сохраняться в папке Pic/SuperCat. Если оставить пустым, то будет имя папки будет номер из столбца No.

Если пустое хоть одно из полей [URL, Begin, End], то строка пропускается. Это удобно, чтоб держать записи на будущее. Например, скачали котиков до страницы 200. Очистим поле Begin, и у нас сохранен адрес и последняя скачанная страница. Когда накопятся новые картинки, то в поле Begin поставим те же 200, а в End уже, например, 250.

Имеет смысл закрыть прогу после заполнения таблицы, чтоб сохранила всё. А то вдруг глюканет и вылетит без сохранения!

Крутилки на главной странице без надобности не трогайте, они сами меняются. 

Больше описаний в самой проге на вкладке Help. Не буду копировать сюда весь текст - его много. Только настроек немного еще опишу.

JoySave 0.26 ^ _ □ X Main Settings Help Cookies joyreactor_sess3=ver3123213213213213213213213213123213123213213123123123; Timer: 300 ^ Pages in folder 50 ^ Proxy host Proxy port Proxy • None IRIhttp Proxy user Proxy pass SOCKS4 SOCKS5 V Pack to CBZ <✓ Del folder after Pack Stop Tot:

Cookies нужны чтоб качать картинки из-под своего аккаунта (например, чтоб качать избранное, или секретные разделы). Куки можно взять из расширений браузера. Например, для Хрома - Cookie Editor. Достаточно только joyreactor_sess3=значение_этого_поля.

Далее крутилка Timer. Это сколько миллисекунд минимум задержки между запросами (получением постов, скачиванием картинок и прочее). Не ставь мало - заблокируют.

Pages in folder - сколько страниц группируется в подпапку. На мой вкус 50 - оптимально. Больше за раз посмотреть напряжно.

К сожалению, под Linux почему-то не работает HTTP-прокси. SOCKS работает. Прога не многопоточная, потому часто "задумывается", особенно на тяжелых картинках и при упаковке в CBZ. И вообще, это то еще глюкалово, написанное по-быстрому на коленке. 

Пишите замечания, ругательства, пожелания.

Развернуть
В этом разделе мы собираем самые смешные приколы (комиксы и картинки) по теме как написать парсер (+1000 картинок)