дубли проектов, импорт URL в проект, ТОП анкоров, экспорт в MindMap, циклические ссылки
Всем привет! В этом новогоднем релизе SiteAnalyzer мы постарались добавить как можно больше ранее озвученных пожеланий пользователей, при этом было реализовано более 20 новых возможностей и улучшений, а также исправлена масса накопившихся багов.
В новой версии SiteAnalyzer 2.9 была добавлена возможность импорта списка URL в проект, появилась возможность создания дубликатов проектов, добавлен экспорт структуры сайта в MindMap, добавлен график ТОПа анкоров сайта, а также была проведена большая работа по исправлению накопившихся багов. Расскажем обо всем подробнее.
Основные изменения
1. Импорт URL
В новой версии SiteAnalyzer добавлена возможность импорта URL в активный проект используя буфер обмена, текстовый файл или файл Sitemap.xml.
Это бывает удобно, когда, например, у проекта уже просканировано большое число станиц, при этом на сайте добавилось несколько новых URL и мы хотим их проанализировать, но не хотим тратить время на долгое пересканирование всего сайта, чтобы увидеть недавно добавленные страницы.
Импорт URL в проект осуществляется через контекстное меню списка проектов, а также через контекстное меню списка URL – пункт «Добавить URL в проект».
При этом, при импорте:
- Учитываются дубли URL (не добавляются URL, уже имеющиеся в базе).
- Не добавляются URL с отличным от исходного доменом.
Сразу после импорта, URL автоматически отправляются на сканирование.
2. ТОП анкоров
Добавлен фильтр по ТОПу анкоров на панели «Custom Filters», а также график плотности ключевых слов.
Для анализа берутся все анкоры ссылок с сайта (внешние и внутренние), считается число повторений каждого анкора и отображается в таблице и на графике (на графике отображаются 30 первых анкоров).
Таким образом, теперь мы можем проанализировать, какие анкоры чаще всего встречаются на сайте, какие реже, а также увидеть распределение на графике плотность ключевых слов в гиперссылках.
3. Экспорт структуры в MindMap
Добавлена возможность экспорта структуры сайта в формат ментальных карт MindMap.
Ментальные карты (интеллект карты, MindMap) – это метод структуризации и визуализации концепций с использованием графической записи в виде диаграммы. Таким образом, ментальные карты помогают легко оперировать информацией, что делает их полезными для применения во многих областях жизни, в том числе и в SEO, в частности.
Применительно к SiteAnalyzer, экспорт структуры сайта в майндкарты позволяет визуализировать текущую структуру сайта в виде удобных ментальных карт с возможностью их дальнейшего редактирования в четырех самых популярных редакторах: MindManager, Xmind, Mindmeister и Coggle.
Методика экспорта структуры в MindManager:
- При помощи вкладки «Структура» строим дерево страниц, затем экспортируем данные сайта в формат CSV при помощи кнопки «Экспорт структуры для MindManager».
- Запускаем программу MindManager.
- В ней через главное меню выбираем пункт Import -> Import using Excel Data Mapper.
- В появившемся блоке справа жмем Next, в диалоге выбора файла выбираем только что экспортированный CSV.
- Затем мы добавляем все недостающие колонки по числу колонок в экспортированном файле минус колонки с URL и Title страниц (для удобства можно использовать данный пресет).
- Далее, для последнего блока URL добавляем подпункты с нашими колонками с URL и Title страниц, а также у первых пунктов мы в свойствах колонок выбираем скрытие пустых ячеек.
- После нажатия на кнопку Apply мы видим получившуюся ментальную карту нашего сайта.
Экспорт структуры в Xmind, Mindmeister и Coggle происходит еще проще:
- При помощи вкладки «Структура» строим дерево страниц, затем экспортируем данные сайта в текстовый формат при помощи кнопок «Экспорт структуры для [Xmind,Mindmeister,Coggle]».
- Далее открываем один из редакторов (Xmind бесплатен, в Mindmeister и Coggle авторизация через аккаунт Google).
- В Mindmeister мы импортируем наш текстовый файл через «Мои карты -> Импорт», в Coggle – путем перетаскивания того же файла на рабочий стол нового документа Coggle, а в Xmind мы импортируем файл формата Markdown (*.
Экспорт структуры сайта в Mindmeister
Экспорт структуры сайта в Coggle
Экспорт структуры сайта в Xmind
Таким образом, теперь буквально за пару минут можно получить структуру сайта в виде интеллект карт в удобном визуальном формате и без лишних манипуляций.
4. Дубликаты проектов
Добавлена возможность создания дублей проектов (дубликаты сайтов по разным URL).
Данное нововведение поможет изолировать объемы работы над крупными проектами, чтобы разделять большие проекты и работать с ними по частям.
Правила добавления дубликатов URL: если новый проект уже имеется в базе и добавляемый URL является внутренней страницей сайта, то в фильтр «Следование URL» автоматически добавляется правило типа https://domain.tld/folder/.* и сохраняется в базе.
Таким образом, теперь для технического анализа отдельной части сайта нет необходимости по долгу ждать сканирование всего ресурса. Еще одним плюсом является то, что экспорт отчетов по проекту будет содержать меньше избыточных данных, а на графе визуализации сайта не будет лишних узлов и разделов.
5. Страницы-сироты (Orphan Pages)
Восстановлена работа фильтра по страницам-сиротам (Orphan Pages). Данный фильтр находится на вкладке «Статистика SEO».
Страницы-сироты – это страницы, на которые не стоят внутренние ссылки (страницы без входящих внутренних ссылок). Таким образом, такая «бесхозная» страница не может быть найдена через навигацию сайта ни пользователем, ни поисковой системой, а может быть найдена лишь через файл Sitemap.xml или ссылки с внешних ресурсов, что обесценивает данный тип страниц в глазах поисковых систем.
От подобных бесхозных страниц необходимо либо избавляться, либо ставить на них внутренние ссылки, чтобы поисковые боты могли переходить на них естественным путем, а не только через Sitemap.xml.
Применительно к SiteAnalyzer, подобные бесхозные страницы могут быть обнаружены при импорте URL в проект, либо при сканировании и импорте URL из Sitemap.xml.
6. Циклические ссылки
Добавлен новый фильтр, содержащий «циклические» ссылки (ссылки со страницы на саму себя). Это могут быть ссылки из логотипа, из меню, из хлебных крошек и т.п. Данный фильтр находится в разделе «Custom Filters».
Циклические ссылки не являются каким-то особо критичным недочетом на сайте, однако для целостности технической оптимизации сайта, у SEO-специалиста должно быть понимание, что те же ссылки из последнего элемента «хлебных крошек» или со ссылки номера активной страницы пагинации лучше убирать.
7. «Прокси» – время ответа
В разделе настроек «Прокси» добавлена колонка со временем ответа для каждого прокси в миллисекундах.
Это поможет пользователям оценить скорость работы каждого прокси и сразу удалять прокси, не удовлетворяющие по скорости (например, со временем ответа более 5 секунд). Время ответа для каждого прокси обновляется после каждой проверки его доступности.
Прочие изменения
- Добавлен экспорт произвольно импортированного списка URL в режиме «проекта», а также парсинг вкладки h2-H6.
- В лог программы добавлено информирование, если сайт запрещен к индексации через мета-тег «Robots» или через HTTP-заголовок «X-Robots-Tag».
- Исправлен баг с редиректами, когда при сканировании страниц, отвечающих кодом 3xx, в столбце «Адрес перенаправления» было пусто.
- Теперь настройки разделов «Юзер-агент», «Исключения URL» и «Следование URL» сохраняются отдельно для каждого проекта.
- Модуль обновления программы теперь встроен в саму программу, за счет чего размер дистрибутива уменьшился на 2 Мб.
- Добавлена возможность указания произвольных названий к HTTP заголовкам (параметры стали редактируемыми).
- Теперь при возобновлении проекта из паузы % прогресса считается со значения на момент паузы, а не с 0%.
- Добавлена возможность проверки индексации страниц для произвольно импортированного списка URL.
- Исправлен баг «Access Violation», возникающий после удаления только что созданного проекта.
- Исправлен баг, когда при экспорте кастом отчета в Excel дублировалась последняя строка.
- Исправлено некорректное извлечение данных для произвольно импортированного списка URL.
- Исправлен баг с пустыми анкорами ссылок и текстами ALT изображений на панели «Инфо».
- Исправлено множество незначительных ошибок.
Подписывайтесь на наш канал в Телеграме! https://t.me/siteanalyzer
Голосуйте за нас на Product Hunt!
Новости прошлых версий:
- Обзор SiteAnalyzer версии 2.8
- Обзор SiteAnalyzer версии 2.7
- Обзор SiteAnalyzer версии 2.6
python — ImportError: невозможно импортировать имя «url» из «django.conf.urls» после обновления до Django 4.0
спросил
Изменено 8 месяцев назад
Просмотрено 162к раз
После обновления до Django 4.0 я получаю следующую ошибку при запуске Самое простое решение — заменить В качестве альтернативы вы можете переключиться на использование пути Если у вас есть большой проект с множеством шаблонов URL для обновления, вам может пригодиться библиотека django-upgrade для обновления ваших python manage. py runserver 9myapp/', включить('myapp.urls'),
]
django.conf.urls.url()
устарело добавлен в Django 3.0 и удален в Django 4.0+. url()
на re_path()
. re_path
использует регулярные выражения, такие как url
, поэтому вам нужно только обновить импорт и заменить url
на re_path
.
. path()
не использует регулярные выражения, поэтому вам придется обновить шаблоны URL, если вы переключитесь на путь. из импорта django.urls включает, путь
из myapp.views импортировать домой
URL-шаблоны = [
путь('', дом, имя='дом'),
путь('myapp/', включить('myapp.urls'),
]
urls. py
файлов.
Я думаю, что быстро решить эту проблему можно следующим образом;
Вы можете легко заменить
из URL импорта django.conf.urls
на это:
из django.urls импортировать re_path как URL
И оставьте остальную часть кода такой же, как раньше. (Спасибо @Alasdair)
2См. в версии 9 джанго0079 4.0 не получится. Таким образом, при установке Django в вашей виртуальной среде выберите эту версию
PIP установить Django == 3.2.10
Это определенно решит вашу ошибку и в Основных URLS.PY Сделайте это:
от django.conf. URL-адрес импорта URL-адресов
из пути импорта django.urls, включая
2Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google Зарегистрироваться через Facebook Зарегистрируйтесь, используя электронную почту и парольОпубликовать как гость
Электронная почтаОбязательно, но не отображается
Опубликовать как гость
Электронная почтаТребуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.
URL | Контроль версий данных · DVC
Отслеживание файла или каталога, найденного во внешнем расположении ( s3://
, /local/path
,
д.), и загрузите его в локальный проект или сделайте копию в удаленном хранилище.
Краткий обзор
использование: dvc import-url [-h] [-q | -v] [--to-remote] [-r <имя>] [--no-exec | --нет загрузки] [-j <число>] [-f] [--с учетом версии] URL [исходящий] позиционные аргументы: URL-адрес (см. поддерживаемые URL-адреса в описании). out Путь назначения для размещения файлов.
Описание
В некоторых случаях удобно добавить файл данных или каталог из внешнего
место в рабочее пространство (или на dvc remote
), чтобы его можно было обновить
позже, если/когда внешний источник данных изменится. Примеры сценариев:
- Удаленная система может время от времени создавать файлы данных, которые используются в других проекты.
- Пакетный процесс регулярно обновляет файл данных для импорта.
- Общий набор данных в облачном хранилище, который управляется и обновляется за пределами DVC.
Обратите внимание, что
dvc get-url
соответствует первому шагу, который выполняет эта команда. (просто скачайте файл или каталог).
dvc import-url
помогает вам создать такую зависимость от внешних данных без
необходимость вручную копировать файлы из поддерживаемых местоположений (перечисленных ниже), что
может потребоваться установка отдельного инструмента для каждого типа.
Если вы не хотите сохранять целевые данные в вашей локальной системе, вы все равно можете
создать файл импорта .dvc
при передаче файла или каталога непосредственно в
удаленное хранилище с помощью параметра --to-remote
. См.
Пример переноса на удаленное хранилище для
подробнее.
Аргумент url
указывает внешнее расположение импортируемых данных. Импортированные данные кэшируются и связываются (или копируются) с текущим
рабочий каталог с исходным именем файла, например. data.txt
(или в папку
поставляется с из
).
См. dvc list-url
для просмотра внешнего расположения файлов и
каталоги для загрузки.
Импорт .dvc
Файл создается в том же месте, например. данные.txt.dvc
–
аналогично использованию dvc добавить
после загрузки данных. Это позволяет
обновить импорт позже, если изменился источник данных (см. dvc update
).
Файлы .dvc
поддерживают ссылки на данные во внешнем расположении, см.
Внешние зависимости.
В таком файле import .dvc
в поле deps
хранится внешний URL-адрес, а
Поле outs
содержит соответствующий локальный путь в
Рабочее пространство. Он записывает достаточно метаданных об импортированных данных, чтобы
включить DVC, эффективно определяя, устарела ли локальная копия.
Обратите внимание, что dvc repro
не проверяет и не обновляет файлы импорта .dvc
, используйте dvc update
, чтобы обновить импорт из источника данных.
DVC поддерживает несколько типов внешних местоположений (протоколов):
Тип | Описание | url пример формата |
---|---|---|
s3 | Amazon S3 | s3://ведро /данные |
azure | Хранилище больших двоичных объектов Microsoft Azure | azure://container/data |
gs 9 0228 | Облачное хранилище Google | gs://bucket/data |
ssh | SSH-сервер | ssh://[email protected]/path/to/data |
hdfs | HDFS в файл* | hdfs://user@example. ком/путь/к/data.csv |
http | HTTP к файлу с ETag * | https://example.com/path/to/data.csv |
webdav | WebDav в файл* | webdavs://example.com/endpoint/path |
webhdfs | REST API HDFS* | webhdfs:// [email protected]/path/to/data.csv |
местный | Локальный путь | /path/to/local/data |
* Примечания относительно удаленных местоположений:
HDFS, HTTP, WebDav и WebHDFS не поддерживают загрузку всего каталоги, только отдельные файлы.
В случае HTTP, ETag это необходимо отслеживать, изменился ли указанный URL.
DVC также поддерживает сбор информации об облачных версиях из определенных облачных
поставщики хранилища. Когда --version-aware
опция предоставляется или когда url
Аргумент включает поддерживаемый идентификатор облачной версии, DVC импортирует
указанная версия.
Тип | Описание | Версия url пример формата |
---|---|---|
s3 9 0012 | Amazon S3 | s3://bucket/data?versionId=L4kqtJlcpXroDTDmpUMLUo |
Azure | Хранилище BLOB-объектов Microsoft Azure | azure://container/data?versionid=YYYY-MM-DDThh:mm:ss |
gs | Google Cloud Storage | gs://bucket/data#1360887697105000 |
Другой способ понять команду dvc import-url
— это ярлык для
создание этапа конвейера с внешним
зависимость.
Это обсуждается в Внешние зависимости документации, где демонстрируется альтернатива для каждой из этих схем.
Вместо:
$ dvc import-url https://data.dvc.org/get-started/data.xml data.xml
Можно использовать dvc stage add
, например (HTTP URL ):
$ dvc stage add -n download_data \ -d https://data.dvc.org/get-started/data.xml \ -о данные.xml \ wget https://data.dvc.org/get-started/data.xml -O data.xml $ dvc repro
dvc import-url
генерирует import .dvc
файл , а этап dvc добавить
выдает штатный этап в dvc.yaml
.
Опции
--no-exec
— создать файл импорта.dvc
без доступа кURL
(предполагается что источник данных действителен). Это полезно, если вам нужно определить проект импортируется быстро, а данные импортируются позже (используйтеdvc update
для завершения операция(и)).--нет загрузки
- создать файл импорта. dvc
, включая хеш-значения для внешней зависимости, но без загрузки связанных данных. Этот полезно, если вам нужно отслеживать изменения в удаленных данных без использования локального хранилища космос (пока). Данные можно загрузить позже с помощьюdvc pull
, но это завершится ошибкой, если URL-адресdvc update --no-download
.--на удаленный
- импортировать цель, но ни перемещать ее в рабочую область, ни кешировать это. Перенесите его прямо в вместо этого удаленное хранилище (по умолчанию, если не указано иное с помощью-r
). Используйтеdvc pull
для локального получения данных.-r
,--remote
- имяdvc remote
(можно использовать только с--to-remote
).-j <номер>
,--jobs <номер>
- уровень параллелизма для DVC для загрузки данных из источника. Значение по умолчанию —4 * cpu_count()
. Использование большего количества рабочих мест может ускорить операцию.
-f
, --force
- при использовании --out
для указания локального целевого файла или
каталог, операция завершится ошибкой, если эти пути уже существуют. этот флаг будет
принудительно выполнить операцию, в результате которой локальные файлы/каталоги будут перезаписаны командой.
--с учетом версии
— захватить информацию об облачной версии текущего версию при импорте файла. ДВК всегда извлекать версионные данные из источника и не будет отправлять дополнительную копию на удаленный хранилище.-h
,--help
- распечатывает сообщение об использовании/справке и завершает работу.-q
,--quiet
- ничего не писать в стандартный вывод. Выйти с 0, если нет возникают проблемы, иначе 1.-v
,--verbose
— отображает подробную информацию о трассировке.
Примеры
Чтобы проиллюстрировать эти примеры, мы будем использовать объяснение проекта. в разделе «Начало работы».
Нажмите и разверните, чтобы настроить примерНачните с клонирования нашего примера репозитория, если у вас его еще нет. Затем перейдите в репо и проверить 3-конфиг-удаленный тег, раздел Начало работы :
$ git clone https://github.com/iterative/example-get-started $ cd пример-начало работы $ git checkout 3-config-remote
Пример: отслеживание файла из Интернета
Расширенная альтернатива вводной части «Основы управления версиями» Get
Started должен использовать dvc import-url
:
$ dvc import-url https://data.dvc.org/get-started/data.xml \ данные/данные.xml Импорт «https://data.dvc.org/get-started/data.xml» -> «data/data.xml» . .. Чтобы отслеживать изменения с помощью git, запустите: git add data.xml.dvc data/.gitignore
Давайте посмотрим на изменения в data.xml.dvc
:
+md5: c4d6740ee09950bb532d418b8ae0b52e +заморожено: правда +депс: +- etag: '"f432e270cd634c51296ecd2bc2f5e752-5"' + путь: https://data.dvc.org/get-started/data.xml ауты: - md5: a304afb96060aad268345e10355 путь: data.xml cache: true
Поле etag
в файле .dvc
содержит
ETag, записанный из HTTP-запроса.
Если импортированный файл изменится онлайн, его ETag будет другим. Эти метаданные
позволяет DVC определить, нужно ли загружать его снова.
См. файлы
.dvc
для более подробной информации о вышеуказанном формате.
Вы можете выйти из каталога example-get-started/
и удалить его после
пробуем этот пример (особенно если пробуем следующий).
Пример: обнаружение изменений во внешнем файле
Что делать, если импортированный файл регулярно обновляется в источнике? Цели проекта может включать повторное создание некоторых результатов на основе обновленного источника данных. Воспроизведение конвейера может быть запущено на основе изменена внешняя зависимость.
Давайте снова воспользуемся проектом «Начало работы», имитируя обновленный внешний источник данных. (Не забудьте подготовить рабочее пространство, т.к. объясняется в примерах)
Чтобы проиллюстрировать этот сценарий, давайте воспользуемся каталогом локальной файловой системы, внешним по отношению к рабочей области (в реальной жизни файл данных может находиться на удаленном сервере). Запустите следующие команды:
$ mkdir /tmp/dvc-import-url-example $ cd /tmp/dvc-импорт-url-пример/ $ wget https://data.dvc.org/get-started/data.xml $ cd - # вернуться к проекту
В производственной системе у вас может быть процесс обновления файлов данных. Это не то, что у нас здесь, поэтому в этом случае мы создадим «хранилище данных», где мы можем отредактируйте файл данных.
$ dvc-импорт-url /tmp/dvc-import-url-example/data.xml data/data.xml Импорт '../../../tmp/dvc-import-url-example/data. xml' -> 'data/data.xml'
Проверить data.xml.dvc
:
md5: fceb2bc076fabe99b483729c3ea2a8 97 заморожено: правда депс: - md5: a304afb96060aad268345e10355 путь: /tmp/dvc-import-url-example/data.xml ауты: - md5: a304afb96060aad268345e10355 путь: data.xml
Файл .dvc
почти такой же, как в предыдущем примере. Разница в том,
что зависимость ( deps
) теперь ссылается на локальный файл в хранилище данных
каталог, который мы создали ранее. (Его путь
содержит URL-адрес хранилища данных.)
И вместо etag
у нас md5
хэш-значение. Мы сделали это так, что легко
отредактируйте файл данных.
Давайте теперь вручную воспроизведем секцию обработки данных Начало работы . Загрузите архив с исходным кодом примера и разархивируйте его:
$ wget https://code.dvc.org/get-started/code.zip $ распаковать код.zip $ rm -f code.zipНажмите и разверните, чтобы настроить среду
Давайте установим требования. Но прежде чем мы это сделаем, мы настоятельно рекомендуем создание виртуальная среда:
$ python3 -m venv .env $ источник .env/bin/активировать $ pip install -r src/requirements.txt
$ dvc stage add -n prepare \ -d src/prepare.py -d данные/data.xml \ -o данные/подготовлено \ python src/prepare.py данные/data.xml $ dvc репродукция Запуск команды: python src/prepare.py данные/data.xml ...
$ дерево . ├── README.md ├── данные │ ├── data.xml │ ├── data.xml.dvc │ └── подготовлено │ ├── test.tsv │ └── train.tsv ├── dvc.lock ├── dvc.yaml ├── params.yaml └── источник ├── оценка.py ├── featurization.py ├── prepare.py ├── требования.txt └── train.py
На данный момент DVC считает, что все обновлено:
$ dvc status Данные и пайплайны актуальны.
В каталоге хранилища данных отредактируйте data.xml
. Неважно, что вы измените,
до тех пор, пока он остается действительным XML-файлом, потому что любое изменение приведет к
другой хэш файла зависимостей ( md5
) в файле импорта . dvc
. Как только мы это сделаем,
мы можем запустить dvc update
, чтобы убедиться, что импорт обновлен:
$ dvc update data.xml.dvc Импорт '.../tmp/dvc-import-url-example/data.xml' -> 'data/data.xml'
DVC замечает, что внешний источник данных изменился, и обновляет файл .dvc
(воспроизводит). В этом случае также необходимо запустить dvc repro
, чтобы
остальные результаты конвейера также регенерируются:
$ репродукция dvc Запуск этапа «подготовка» с помощью команды: python src/prepare.py data/data.xml
Пример: перенос в удаленное хранилище
Иногда в локальной среде недостаточно места для импорта большого набор данных, но вы все равно хотите отслеживать его в проекте, чтобы его можно было вытащил позже.
Пока вы настроили dvc remote
, который может обрабатывать данные, это может быть
достигается с помощью флага --to-remote
. Он создает импорт .dvc
файл без
загрузка чего-либо, вместо этого передача цели непосредственно в удаленное хранилище.
Давайте импортируем файл data.xml
через HTTP прямо «на удаленку»:
$ dvc import-url https://data.dvc.org/get-started/data.xml data.xml \ --to-remote ... $ лс data.xml.dvc
Поскольку в рабочей области создается файл .dvc
, всякий раз, когда кто-либо
хочет фактически загрузить данные, которые они могут использовать dvc pull
:
$ dvc pull data.xml.dvc Данные.xml 1 файл добавлен
Используйте dvc update --to-remote
, чтобы обновить импорт в удаленном хранилище,
ничего не скачивая.
Пример: отслеживание идентификаторов облачных версий
Если для вашего пути к облачному хранилищу уже включено управление версиями, DVC может использовать облако идентификаторы версий для управления данными. Давайте импортируем версионные данные из S3:
$ dvc import-url --version-aware s3://mybucket/data Импорт 's3://mybucket/data' -> 'data'
Проверьте data.