User Tools

Site Tools


Translations of this page:
ru:import_sets

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 вида

<thumb num=1-100 order=date gallery_status=inactive>
урл галеры
</thumb> 

и по урлу 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

Для удобства пользования у каждого импортсета появилось опциональное имя. Можно его не вводить и список импортсетов будет выглядеть как раньше, а можно дать каждому импорсету персональное имя.

ru/import_sets.txt · Last modified: 2023/01/04 04:40 by admin