9 / 9 / 0
Регистрация: 30.12.2015
Сообщений: 389
|
|
1 | |
Есть 10 тыс. ссылок, которые надо сверить с 40 тыс. ссылок и удалить совпадающие28.03.2017, 19:34. Показов 922. Ответов 19
Метки нет (Все метки)
Давно читал турниры из Базы вопросов http://db.chgk.info, копировал в ворд некоторые вопросы для перечитки. Из 40 000 вопросов скопировал 10 000 вопросов.
Сейчас смотрю, можно было и тщательней копировать, то есть надо перечитывать, но часть уже есть. Надо убрать из всех турниров скопированные вопросы. Документ “10” – вордовский файл с 10 000 скопированными вопросами (точнее, 31 документ по 100 страниц) Документ “40 all” – вордовский файл с 40 000 вопросами, которые надо перечитать (75 документов по 200 страниц). Из этих 40 000 уже скопированы 10 000, их и надо убрать, чтобы не перечитывать. Это html-страницы, которые открываю через ворд. У вопросов есть уникальные ссылки http://db.chgk.info/question/gamb14l.1/1 (есть слово question). Может быть еще “person”, “tour” http://db.chgk.info/person/vkrivolapov или http://db.chgk.info/tour/gamb14l/print, но интересуют только вопросы. Подробности внутри файла “Скрипт”, файлы “10” и “Онлайн – турнир” для проверки. Спасибо.
0
|
28.03.2017, 19:34 | |
Ответы с готовыми решениями:
19
Есть ли такая биржа ссылок, где можно размещать место для ссылок вне видимости страницы сайта Нужна сборка системника в пределах 20 тыс. (плюс минус 2-3 тыс.) Максимальная производительность за 15 тыс рублей или 5 тыс грн Сборка за 25 тыс. грн. / 900$ / 62 тыс. рублей |
Динохромный
1400 / 763 / 284
Регистрация: 22.12.2015
Сообщений: 2,387
|
|||||||||||
29.03.2017, 10:46 | 2 | ||||||||||
durol, очень много информации, и очень лаконично описано, что вы хотите сделать.
1. В коде указаны имена файлов включая расширение, которые вы должны заменить на реальные. 2. Код перебирает все гиперссылки, содержащие "*db.chgk.info/question*" и ищет их во втором файле, если находит - удаляет гиперссылку в первом файле и найденное вхождение во втором (если существуют другие вхождения, код их не ищет). Текст вопроса также не удаляется. 3. Код можно откорректировать, если вы дадите внятный алгоритм его работы.
Не по теме: Попадает ли ваш пост с отсылкой на сайт db.chgk.info под раскрутку данного ресурса и таким образом под п.5.7. ПФ это вопрос модераторов, но лично мне неудобно копаться в большом объеме разнообразных данных без сформулированной задачи (проблему вы в принципе описали, а вот чего код в результате должен сделать - т.е. постановка задачи - мне не понятно).
1
|
Модератор
|
|
29.03.2017, 12:26 | 3 |
ваша задача --явно не для WORD
в ворде --это только свалка мусора один из вариантов --перевести в ексель/аксесс, чтобы было возможно --поиск --фильтр --пометки --выборочная распечатка пример в екселе немного не так сделан --надо сделать в формате вопрос=строка
1
|
9 / 9 / 0
Регистрация: 30.12.2015
Сообщений: 389
|
|
29.03.2017, 14:28 [ТС] | 4 |
При сверке 10 и 40 all убирается только половина из всех подходящих ссылок. Если еще раз запустить – еще половина удалится и т.д. 30 ссылок правильно убралось с 6 запуска. Проверил на 2 документах, оба раз каждый запуск убирал половину нужных ссылок.
0
|
Модератор
|
||||||
29.03.2017, 14:56 | 5 | |||||
не знаю, почему удаление идет из двух документов ---но удаление всегда делают с хвоста
1
|
Динохромный
1400 / 763 / 284
Регистрация: 22.12.2015
Сообщений: 2,387
|
||||||
29.03.2017, 14:59 | 6 | |||||
Странно, на примере вроде сработало, впрочем сомненья были.
Попробуйте такой код:
shanemac51, прошу прощения - поздно увидел что вы отписались.
1
|
Модератор
|
|
29.03.2017, 15:03 | 7 |
1
|
9 / 9 / 0
Регистрация: 30.12.2015
Сообщений: 389
|
|
29.03.2017, 15:31 [ТС] | 8 |
Опередил меня.
31 документ по 100 страниц вопросов будет 1 документ с 10 000 ссылок. А вот 40 all не буду больше 200 страниц в файл сводить, даже на 8 Гб оперативки займет время для сверки. Все работает. Благодарю. Единственное неудобство: файл 10 – это один файл 200 страниц с 10 000 ссылок. Файл 40 all - это 75 файлов (имена 1, 2,… 75) по 200 страниц. Эти 75 файлов все должны называться “40 all.docm”, групповое переименование в тотале не применишь, так как название одинаковое. То есть надо по одному файлу переименовывать, обрабатывать, удалять и с новым так же. И так 75 раз.
0
|
Модератор
|
|
29.03.2017, 15:56 | 9 |
это можно и в макросе зациклить, не проблема
меня заинтересовало другое --31 и 75 видимо в одной порции (из 31) находятся вопросы из разных порций(из 75) время может зашкалить --выше приемлемого все-таки надо плясать от екселя/аксесса -------- или открыть одну из 10-х (из 31), считать ссылки в память и прогнать циклом по всем 40-ам и так 31 раз
1
|
9 / 9 / 0
Регистрация: 30.12.2015
Сообщений: 389
|
|
29.03.2017, 17:40 [ТС] | 10 |
В описании говорил, что 10 000 вопросов есть среди 40 000 вопросов.
В экселе не разбираюсь, решение в ворде подходит. Добавлено через 51 минуту Файл 10 состоит из 374 страниц с 12 000 ссылок. Запустил для сверки 10 с 40, в котором 80 страниц (а не 200). Сверяет уже 40 минут. Долго получается. В задании писал: "Примечание: сверяются “10” с “40 all”. Ссылки построчно с текстом. Быстрее было бы наоборот, но для этого в тексте (40) надо сначала найти ссылки и переходить от одной ссылки к другой для сверки с 10." Можно реализовать сверку 40 с 10? Так получается 12 000 ссылок сверяются с 600 вопросами на 200 страницах. 150 совпадут и удалятся, а еще 11 850 ссылок проверятся вхолостую. Наоборот было бы быстрее. Если для первого файла сверятся 12 000 файлов, а для 75-го - 150 файлов, то в среднем будет 6 000 на файл. 6 000 * 75 = 450 000 проверок. Для файла 40 больше 40 000 проверок не может быть. Спасибо.
0
|
Модератор
|
|
29.03.2017, 19:01 | 11 |
сейчас проверю еще раз код, а еще лучше выложите один 10-й и пару 40-х в зипе
попробую на скорость свой вариант
1
|
9 / 9 / 0
Регистрация: 30.12.2015
Сообщений: 389
|
|
29.03.2017, 19:10 [ТС] | 12 |
Один 10 - это 12 000 ссылок
У меня уже 2 часа 10 с 40 сверяется В таком порядке лучше не пробовать Если только наоборот - 40 с 10
0
|
9 / 9 / 0
Регистрация: 30.12.2015
Сообщений: 389
|
|
29.03.2017, 19:27 [ТС] | 13 |
Файл 40 all теперь называется 40, если кодом будете пользоваться, то там 40 all, надо поменять.
0
|
Модератор
|
|
29.03.2017, 19:37 | 14 |
1
|
Модератор
|
|
29.03.2017, 20:04 | 15 |
ваша пара файлов обрабатывалась 7 секунд
6 секунд --считывание 10-го в память(без удаления),12000 закладок нужного типа 1сек --удаление из 40-го(из 195 удалены не все) прилагаю протоколы
0
|
9 / 9 / 0
Регистрация: 30.12.2015
Сообщений: 389
|
|
29.03.2017, 20:32 [ТС] | 16 |
Достаточно поменять в коде местами 10 и 40 и будет сверяться 40 с 10.
10 с 40 сверялось 2 часа 20 минут. 40 с 10 - 30 минут. Так и буду сверять. Добавлено через 8 минут Все и не должны быть удалены, только совпадения. 40 обратно после обработки можно вернуть в ворд с исходным форматированием для последующего чтения? попробую эксель, но не разу им не пользовался. Добавлено через 18 минут Открыл скрипт0328, но эксель мне не понятен. Сделаю через ворд.
0
|
Модератор
|
|
29.03.2017, 20:56 | 17 |
макрос в dic00.docm
сначала посмотрите м40.docm --что получилось после обработки(удалены 2-5-13, всего 39) удаленные ссылки помечены желтым
1
|
Модератор
|
|
29.03.2017, 21:03 | 18 |
задублируте свои файлы перед пробой
10-м ничего не будет, правятся только 4*.docm
1
|
9 / 9 / 0
Регистрация: 30.12.2015
Сообщений: 389
|
|
30.03.2017, 12:06 [ТС] | 19 |
желтым цветом выделено правильно
цветом даже удобней чем удаленные, но и удаленные сойдут в файле dic00.docm два символа FF, если открыть вордом эксель для меня отпадает, хоть и быстро
0
|
Модератор
|
|
30.03.2017, 13:23 | 20 |
хотела инструкцию написать, но некогда стало
FF -случайные символы, чтоб не пустой лист был Добавлено через 3 минуты главное в нем --макрос, вызывается через alt+f8 --10-й считывает в память, файл не портит --затем сканирует каталог на 4*.docm и формирует логи 4*.log, изменяет 4*.docm
1
|
30.03.2017, 13:23 | |
30.03.2017, 13:23 | |
Помогаю со студенческими работами здесь
20
Апгрейд за 7 тыс. грн. (прибл. 20 тыс. руб). для комфортной игры в World of Tanks на настройках выше минимальн Удалить теги ссылок, которые находятся внутри тега Tittle Нужна видеокарта до ~20 тыс. +- 1-2 тыс. руб Выбор ПК до 15 тыс. грн (1,8 тыс дол.) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |