User Tools

Site Tools


ru:import_sets

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ru:import_sets [2020/04/05 17:18]
admin [Import Sets - personal name]
ru:import_sets [2023/01/04 04:40] (current)
admin [Deletion Feed]
Line 1: Line 1:
 +====== Import Sets ======
 +
 +
 +Разные спонсоры предоставляют урлы в разных форматах: RSS (причем многие используют не описанные стандартом поля), XML, дампы. И если RSS можно был добавлять прописав их в группах, то XML и дампы можно был добавлять только руками. Это неудобно для автоматического наполнения контентом. Теперь для этого существуют импорт сеты. Обратите внимание, что РСС в группах и спонсорах остались только для того, что бы оттуда можно было скопировать данные.
 +
 +Преимущество импорт сетов в том, что можно автоматически, через указынный промещуток времени, импортировать галеры практически из любого источника, при этом выполняя с ними любые действия как при ручном импорте, например создать кастом гали, досбавить в несколько категорий,опредлить создание дополнительных тумб и тп.
 +
 +Как это работает: Rotation  - Import Sets, жмем "Add New" - открывается форма Import с единственным исключением - вверху форма для ввода урла. Надо ввести URL дампа или rss, время переграба (24 = каждые 24 часа) и разделитель. Разделитель актуален для дампов, и обычно это символ "|". Жмем Test - скрипт пытается опредлить поля в контента предлагаемом урле. Для неопределнных полей надо или Skip или самостоятельно выбрать что в этом поле. Наже выбираем параметры импорта как в привычной форме импорта. Жмем Save. Все.
 +
 +===== Hints =====
 +
 +
 +  * В РСС бывает тумба идет не как прямой урл до тумбы, а как таг <img src=....>. Для этого поля надо выбирать не Thumb, а Parse Thumb.
 +  * Delimiter - это разделение полей, в дампах это обычно | , в RSS обычно item, но бывает еще video. Разобраться с этим несложно: надо открыть урл в браузере и посомтреть в код страницы, 99% вы сразу догадаетесь что писать.
 +
 +
 +
 +===== Deletion Feed =====
 +
 +Существует 2 типа import set: add и deletion. Соответственно урлы найденные в типе add - добавляются в базу, deletion - удаляются из базы.
 +
 +Это удобно для автоматического удаления галер. Те если в обычной ситуации что бы проверить что галеры, на которые вы линкуете, рабочие - вам надо было бы запускать [[Gallery Checker]] и тем самым дополнительно нагружать и свой сервак и сервак спонсора, то в этом случае спонсор дает вам конкретный со списком удаленных урлов - и скрипт, раз в Х часов проверяет его и удаляет эти урлы у вас из базы.
 +
 +Обратите внимание, что скирпт может удалять по частичному совпадению, например ваш урл http://sponsor.com/gallery/index.html?id=your_id а спонсор отдает только http://sponsor.com/gallery/index.html
 +
 +**Если у вас какие-то свои ресурсы, вы можете сделать агрегацию deletion feed.**
 +
 +Например, у вас 10 мест откуда собираются списки удаленных галер + у вас свой контент (свои кастом галеры). При этом эти галеры используются на 100  других сайтах. Что бы не добавлять эти фиды 100 раз, можно на 1 сайте добавить их все, и поставить тип импорта mark inactive (offline). Те у вас будет 1 сайт с базой удаленных урлов. Лучше сделать его просто как базу, те без траффика.
 +
 +На этом сайте создаем отдельный темплейт last_deleted вида
 +
 +<code>
 +<thumb num=1-100 order=date gallery_status=inactive>
 +урл галеры
 +</thumb> 
 +</code>
 +
 +
 +и по урлу domain.com/?force_template=last_deleted у вас будет список удаленных галер (последние 100 в данном примере). И вы сможете добавить только этот урл на другие сайты.
 +
 +
 +
 +Обратите внимание, что если у вас сеть сайтов мастер-слейв, то можно добавлять deletion feed только на один них них, тк в этом варианте они используют одну базу.
 +===== Большие импортсеты =====
 +
 +Смотрю один сайт и вижу, что rot.php работает как-то дольше, чем должен. Заглядываю в лог, а там типа
 +
 +  * 2011-11-28 13:19 ImportSet....: Added: , Dupes: 10000
 +  * 2011-11-28 13:20 ImportSet....: Added: , Dupes: 20000
 +  * 2011-11-28 13:21 ImportSet....: Added: , Dupes: 30000
 +
 +и так далее, те в импортсетах много РСС\дампов, где выдает не последние 10-50-100 урлов, а списки с десятками тысяч урлов и все это стоит на проверку каждый час.
 +
 +
 +Думаю, что смысл ошибки понятен, она не критичная, но тк скрипту надо каждую минуту делать по 30к запросов к базе проверяя есть ли в ней урлы из этого списка, то ресурсов серваку это не прибавляет.
 +
 +В апедйте 49 было добавлено ограничение на размер импортсета для защиты пользователей от самих себя :)
 +
 +===== Import Sets Type Deletion и Hamster (как пример, но актуально и для других) =====
 +
 +
 +В принципе это относится не только к Хамстеру, но поскольку вопрос возник именно на его примере - описываю  проблему на его примере.
 +
 +Вводная: Хамстер дает ембеды, вы решили сделать на эмбедах сайт. Дабы было постоянное автоматическое пополнение сиджа настроили Import Set и добавили туда дамп Хамстера
 +
 +  http://partners.xhamster.com/2export.php?ch=!&cnt=4&tmb=4&tcnt=10&tl=on&ord=1&url=off&em=1&ttl=on&chs=on&sz=on&dlm=|
 +  который выдает в формате #EMBED|#THUMB|#TITLE|#CHANNEL|#DURATION|
 +
 +Как бы этого достаточно, все работает и все хорошо.
 +
 +Вопрос возникнет позже - когда надо будет добавить автоматическое удаление галер удаленных на хамстере. 
 +хамстер выдает список урлов удаленных видео, **но в нашем то импорт сете урла нет (#EMBED|#THUMB|#TITLE|#CHANNEL|#DURATION|**) и потому Смарт не сможет на автомате удалять удаленные видео (сорри за тавтологию но смысл надеюсь ясен).
 +
 +
 +**Что делать:** урл дампа хамстера надо поменять так, что б там появился урл гали, примерно так 
 +
 +  http://partners.xhamster.com/2export.php?ch=!&cnt=4&tmb=4&tcnt=10&tl=on&ord=1&url=on&em=1&ttl=on&chs=on&sz=on&dlm=|
 +  тогда дамп будет выдавать урл гали #EMBED|#THUMB|#URL|#TITLE|#CHANNEL|#DURATION|
 +  те добавлено #URL
 +
 +
 +Смарт будет добавлять гали в базу с пометкой source url = ... и соответственно сможет автоматически удалять у себя в базе удаленные видео хамстера.
 +
 +
 +PS Это так же актуально если вы проверяете доступность галер с помощью [[Gallery Checker]].
 +
 +Будет не лишним сделать небольшое отступление: еще до импортсетов появился [[Tube Import]], который может автоматически добавлять видео с тубов к вам. Однако тубы периодически удаляют контент и соответственно у вас на сайте оказывались ссылки на удаленое видео или , если видео было добавлено как ембед, переставало работать. Дабы избежать такой ситуации появился [[Gallery Checker]], который по кейвордам проверяд не удалено ли видео. Если кратко, то у [[Gallery Checker]] есть список вида domain- keyword, например xhamster.com - video was deleted и чекер проходит по всем видео и проверяет, что на страницах такого слова нет и значит видео все еще работает.
 +
 +Однако с ростом баз стало ясно, что если в базе 500к урлов, то появляется некоторая проблема с проверкой такого кол-ва урлов, и как раз к этому моменту у продвинутых тубов начали появляться deletion rss - те рсс со списками удаленных урлов, и соответственно можно было не проверять все урлы с помощью [[Gallery Checker]], а сразу точечно удалять нужные урлы - для этого у импорт сета появился тип deletion.
 +
 +Те и для [[Gallery Checker]] и для импорт сет deletion type  - надо знать исходный урл. Если у туба\спонсора есть deletion rss - предпочтительнее юзать его. Если нет - [[Gallery Checker]].
 +
 +
 +**Вариант 2**
 +
 +Например, у вас добавлено http://gallery/1234.html, а туб поменял урлы на http://gallery/1234/  или deletionn feed выдает только 1234, одним словом урл который вы импортировали не совпадает с тем, что выдает deletion feed. 
 +
 +В этом случае надо эти новые данные (http://gallery/1234/ или 1234, те именно то что выдает deletion feed) добавлять в custom var1 (2, 3). те для нового импорта мы импортим как url|custom_var1 (где в кастом вар находится то что отдает deletion feed например 1234), а для тех урлов которые уже есть в базе - идем в rotation - massedit и добавляем в аналогичном формате url|custom_var1  где url это то что у нас уже есть в базе, custom_var1 - то что выдает deletion feed (например  http://gallery/1234.html|1234)
 +
 +Суть в том, что при процессинге deletion feed скрипт так же смотрит на совпадения по custom var.
 +===== Import Sets - Page =====
 +
 +Иногда фид ограничен страницами, например выдает по 50 штук за раз и дальше надо менять параметр &page= ... Для этого добавлен таг {PAGE}. Когда импорт сет запускает первый раз то скрипт заменяет его на 1, каждый следующий раз - добавляет единицу. Таким образом можно перебрать весь сет. Останавливается когда урл ничего не вернет.
 +
 +Если вы редактируете сет, то этот параметр скидывается на 1.
 +
 +===== Import Sets - personal name =====
 +
 +Для удобства пользования у каждого импортсета появилось опциональное имя. Можно его не вводить и список импортсетов будет выглядеть как раньше, а можно дать каждому импорсету персональное имя.