0. milkers 2329 16.12.10 17:32 Сейчас в теме

Парсинг и анализ топ рейтинга Самиздата (samlib.ru) v2.02 (СКД, XPath, Управляемые и обычные формы)

Хочется почитать хорошую книгу? На сайте Самиздата samlib.ru публикуются сотни интереснейших книг... и тысячи, читать которые далеко не так интересно.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. СергейКа 669 16.12.10 17:32 Сейчас в теме
Неплохо было бы прикрутить обработку прерывания.
А то промахнулся с количеством страниц - и можно ждать до "морковкиного заговенья" :)
А так же добавить в описание, что на управляемой форме не работает.
2. milkers 2329 16.12.10 20:54 Сейчас в теме
3. Yashazz 2488 21.12.10 17:46 Сейчас в теме
Времени копаться нету, а любопытно, потому вопрос: делали разбором DOM-модели?
4. milkers 2329 21.12.10 21:20 Сейчас в теме
(3)Нет. Поиск начала таблицы и конца таблицы. И обычный и парсинг.
6. milkers 2329 08.01.11 19:18 Сейчас в теме
5. tango 484 08.01.11 17:33 Сейчас в теме
7. graphbuh 203 21.08.14 15:14 Сейчас в теме
Интересно, а можно добавить функцию скачивания (допустим, в какую то директорию) и поиска по ключевым словам (допустим, используя яндекс). Учитывая конструкцию сайта это непросто, но всегда хочется невозможного )) уж такие мы , программисты
8. milkers 2329 21.08.14 15:58 Сейчас в теме
(7) graphbuh, можно сделать и гораздо лучше. Но если честно, даже не смотря на то что я на больничном жалко времени и сил, на то чтоб переделывать работающую вещь, особенно с не очень востребованным здесь функционалом. По хорошему, чтоб сделать утилиту современной надо сделать две вещи: избавиться от программного парсинга и передавать таблицу в компоновку данных, где пользователь сможет сам настраивать фильтры. Меня вполне устраивает текущий вариант.
9. milkers 2329 20.10.16 17:22 Сейчас в теме
(0) Выложил Парсинг и анализ топ рейтинга Самиздата v2.02 Переписано под СКД. Парсинг теперь делается средствами XPath через временный файл. Скорость загрузки страниц увеличилась в разы. Система хранит данные предыдущей загрузки рейтинга и позволяет отлавливать тренды с помощью фильтров СКД. Например, можно отловить быстро набирающие популярность, отсортировав по изменению количества проголосовавших. Пока убран индикатор загрузки. Парсинг осуществляется на сервере и индикация процесса без изменения конфигурации и без замедления парсинга оказалась твердым орешком.

Для работы нужна 8.3+. Работает в любой конфигурации.
10. desarz 62 09.11.16 17:44 Сейчас в теме
Преобразование значения к типу Число не может быть выполнено. Не работает однако :(
11. milkers 2329 09.11.16 21:02 Сейчас в теме
(10) desarz, Какая версия платформы, какая из обработок (их 2). Ну и в какой конфигурации запускали, в каком клиенте.
12. milkers 2329 12.02.18 16:40 Сейчас в теме
(0) Исправлена ошибка загрузки, возникшая при изменение дизайна страницы (добавлении рекламных блоков)
13. qazaas 15.10.18 16:43 Сейчас в теме
(0)(12)
{ВнешнийОтчет.ПарсингИАнализТопРейтингаСамиздата.Форма.ФормаОтчетаУправляемая.Форма(711)}: Ошибка при вызове конструктора (COMОбъект)
Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
по причине:
-2147221164(0x80040154): Класс не зарегистрирован

P.S.: Что-то я не обнаружил там XPath.
14. milkers 2329 16.10.18 10:10 Сейчас в теме
(13) Напишите пожалуйста операционную систему, версию платформы и конфигурации 1С.
MSScriptControl.ScriptControl -не относится к XPath никак, вспомогательный инструмент, для подсчета времени формирования отчета.
Почему в Вашей системе не получается создать этот Com-объект - большой вопрос. У Вас не линукс случайно?
В принципе подсчет времени можно убрать из кода совсем, на результат это не влияет.
15. qazaas 16.10.18 12:10 Сейчас в теме
(14) Да это не очень важно. Если уж на то пошло, то могу и просто закомментировать это - не проблема. Я в 1С-ке разбираюсь)
У меня Windows 10, все обновления стоят. Microsoft Visual C++ Redistributable 2005, 2008, 2010, 2012, 2013, 2017 + последняя студия. Версия 1С 8.3.12.1616, конфигурация самописная.

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

Сейчас вот еще раз протестировал. Нашел еще одну ошибку - при выделении картинки "Самиздат" (достаточно просто по ней щелкнуть) появляется ошибка "Поле не обнаружено (Низ)" - указывает на функцию управляемой формы (я тестировал в управляемом режиме)
фПолучитьСуммуЧиселВыделеннойОбластиТабДок

строку
Для ЯчВерт = ВыделеннаяОбласть.Верх По ВыделеннаяОбласть.Низ Цикл

При отладке, в выделенной области свойство "Верх" имеется, а свойства "Низ" нет.

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

P.S. качал обработку с целью найти какие-либо новые методы для парсинга сайтов, но ваш метод я уже встречал. Эх... Но все равно спасибо за ваш труд.
16. milkers 2329 07.11.18 16:38 Сейчас в теме
(0) Изменился формат сайта, добавили рекламу. Подправил обработку, чтоб работала.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Консультант 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день

Программист стажер 1С
Нижний Новгород
зарплата от 30 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству