WordPress: как удалить дубли постов в XML? - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB93.4409
BTC/USD66609.4661
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 31.08.2017, 12:05   #1
Dr.EVIL
★☆★☆★
 
Аватар для Dr.EVIL
 
Регистрация: 01.10.2009
Сообщений: 444
Бабло: $166305
Question WordPress: как удалить дубли постов в XML?

Как можно удалить дубли постов в XML файле перед импортом в вордпресс? Может быть, есть какие-то спец. скрипты или софт?

Извращался в Notepad++ путём объёдинения строк -> удаления дублей -> через поиск/замену восстановление правильного формата XML, но это просто пздц когда всё зависает на обработке крупных файлов =\

Ещё как вариант делаю предварительно импорт XML в вордпресс на локалхосте, после чего вордпресс сам отсеивает дубли постов. Затем закачиваю чистый XML через export тулзу. Тоже геморой, т.к. процесс проходит очень долго.

Как-то можно ускорить импорт XML на локалхосте? Разбивать файлы на несколько мелких не вариант, при условии что файлов очень много.

Заранее спасибо, если что можно за $ накидать решение.
__________________
I shave my balls
Dr.EVIL вне форума  
Старый 31.08.2017, 13:07   #2
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,859
Бабло: $1861015
По умолчанию

ты бы сюда кинул пример чтоли... под офф
и что значит "много"? а в байтах?
веломан вне форума  
Старый 31.08.2017, 13:21   #3
ozzyosborne
Юниор
 
Регистрация: 12.06.2014
Сообщений: 12
Бабло: $2655
По умолчанию

Цитата:
Сообщение от Dr.EVIL Посмотреть сообщение
Как можно удалить дубли постов в XML файле перед импортом в вордпресс? Может быть, есть какие-то спец. скрипты или софт?

Извращался в Notepad++ путём объёдинения строк -> удаления дублей -> через поиск/замену восстановление правильного формата XML, но это просто пздц когда всё зависает на обработке крупных файлов =\

Ещё как вариант делаю предварительно импорт XML в вордпресс на локалхосте, после чего вордпресс сам отсеивает дубли постов. Затем закачиваю чистый XML через export тулзу. Тоже геморой, т.к. процесс проходит очень долго.

Как-то можно ускорить импорт XML на локалхосте? Разбивать файлы на несколько мелких не вариант, при условии что файлов очень много.

Заранее спасибо, если что можно за $ накидать решение.
Сталкивался с проблемой редактирования огромного количества строк еще пару лет назад вот мое решение EmEditor Text Editor Professional открывает и редактирует фалйы с лямами строк на которых Notepad ++ умирает
ozzyosborne вне форума  
Старый 31.08.2017, 14:02   #4
Dr.EVIL
★☆★☆★
 
Аватар для Dr.EVIL
 
Регистрация: 01.10.2009
Сообщений: 444
Бабло: $166305
ТС -->
автор темы ТС По умолчанию

Пример XML
В примере первый блок и последний являются одинаковыми. Нужно удалить повторный.

PHP код:
<item>
<
title>title1</title>
<
dc:creator><![CDATA[admin]]></dc:creator>
<
category><![CDATA[Uncategorized]]></category><category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
<
category domain="tag"><![CDATA[Tag1]]></category><category domain="tag" nicename="tag1"><![CDATA[Tag1]]></category>
<
content:encoded><![CDATA[
<
p>text</p>
]]></
content:encoded>
<
wp:comment_status>open</wp:comment_status>
<
wp:ping_status>close</wp:ping_status>
<
wp:post_name>title1</wp:post_name>
<
wp:status>publish</wp:status>
<
wp:post_type>post</wp:post_type>
</
item>

<
item>
<
title>title2</title>
<
dc:creator><![CDATA[admin]]></dc:creator>
<
category><![CDATA[Uncategorized]]></category><category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
<
category domain="tag"><![CDATA[Tag1]]></category><category domain="tag" nicename="tag1"><![CDATA[Tag1]]></category>
<
content:encoded><![CDATA[
<
p>text</p>
]]></
content:encoded>
<
wp:comment_status>open</wp:comment_status>
<
wp:ping_status>close</wp:ping_status>
<
wp:post_name>title1</wp:post_name>
<
wp:status>publish</wp:status>
<
wp:post_type>post</wp:post_type>
</
item>

<
item>
<
title>title1</title>
<
dc:creator><![CDATA[admin]]></dc:creator>
<
category><![CDATA[Uncategorized]]></category><category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
<
category domain="tag"><![CDATA[Tag1]]></category><category domain="tag" nicename="tag1"><![CDATA[Tag1]]></category>
<
content:encoded><![CDATA[
<
p>text</p>
]]></
content:encoded>
<
wp:comment_status>open</wp:comment_status>
<
wp:ping_status>close</wp:ping_status>
<
wp:post_name>title1</wp:post_name>
<
wp:status>publish</wp:status>
<
wp:post_type>post</wp:post_type>
</
item
EmEditor и Netepad++ это я уже пробовал, очень много гемора с обработкой файлов. Проще импортировать в вордпресс и ждать пока он обработает, затем делать экспорт. Но это очень долго =\
__________________
I shave my balls
Dr.EVIL вне форума  
Старый 31.08.2017, 14:45   #5
capturis
Senior Member
 
Аватар для capturis
 
Регистрация: 25.11.2013
Сообщений: 272
Бабло: $47235
Отправить сообщение для capturis с помощью Telegram Отправить сообщение для capturis с помощью Jabber
По умолчанию

Код:
 sed '/./{H;$!d;};x;s/\n/={NL}=/g' file.txt | sort -u | sed '1s/={NL}=//;s/={NL}=/\n/g' > out.txt
capturis вне форума  
Старый 31.08.2017, 15:00   #6
holms
Senior Member
 
Аватар для holms
 
Регистрация: 06.04.2007
Сообщений: 1,509
Бабло: $121765
По умолчанию

вроде как textkit делал такое, можно попробовать проверить, кидай файл
holms вне форума  
Старый 31.08.2017, 15:20   #7
Dr.EVIL
★☆★☆★
 
Аватар для Dr.EVIL
 
Регистрация: 01.10.2009
Сообщений: 444
Бабло: $166305
ТС -->
автор темы ТС По умолчанию

capturis, что-то не работает, на выходе файл без изменений.

holms, TextKit не юзал. Вот такой XML файл он сможет обработать? Здесь на выходе должно получиться два поста, если эта прога правильно всё делает.

PHP код:
<item>
<
title>title1</title>
<
dc:creator><![CDATA[admin]]></dc:creator>
<
category><![CDATA[Uncategorized]]></category><category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
<
category domain="tag"><![CDATA[Tag1]]></category><category domain="tag" nicename="tag1"><![CDATA[Tag1]]></category>
<
content:encoded><![CDATA[
<
p>text</p>
]]></
content:encoded>
<
wp:comment_status>open</wp:comment_status>
<
wp:ping_status>close</wp:ping_status>
<
wp:post_name>title1</wp:post_name>
<
wp:status>publish</wp:status>
<
wp:post_type>post</wp:post_type>
</
item>

<
item>
<
title>title2</title>
<
dc:creator><![CDATA[admin]]></dc:creator>
<
category><![CDATA[Uncategorized]]></category><category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
<
category domain="tag"><![CDATA[Tag1]]></category><category domain="tag" nicename="tag1"><![CDATA[Tag1]]></category>
<
content:encoded><![CDATA[
<
p>text</p>
]]></
content:encoded>
<
wp:comment_status>open</wp:comment_status>
<
wp:ping_status>close</wp:ping_status>
<
wp:post_name>title1</wp:post_name>
<
wp:status>publish</wp:status>
<
wp:post_type>post</wp:post_type>
</
item>

<
item>
<
title>title1</title>
<
dc:creator><![CDATA[admin]]></dc:creator>
<
category><![CDATA[Uncategorized]]></category><category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
<
category domain="tag"><![CDATA[Tag1]]></category><category domain="tag" nicename="tag1"><![CDATA[Tag1]]></category>
<
content:encoded><![CDATA[
<
p>text</p>
]]></
content:encoded>
<
wp:comment_status>open</wp:comment_status>
<
wp:ping_status>close</wp:ping_status>
<
wp:post_name>title1</wp:post_name>
<
wp:status>publish</wp:status>
<
wp:post_type>post</wp:post_type>
</
item
__________________
I shave my balls
Dr.EVIL вне форума  
Старый 31.08.2017, 15:37   #8
Dr.EVIL
★☆★☆★
 
Аватар для Dr.EVIL
 
Регистрация: 01.10.2009
Сообщений: 444
Бабло: $166305
ТС -->
автор темы ТС По умолчанию

holms, спасибо)

Вот точнее полный код с заголовками:

PHP код:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"
    xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:wp="http://wordpress.org/export/1.2/"
>

<channel>
    <title>site</title>
    <link>http://localhost/</link>
    <description>Just another WordPress site</description>
    <pubDate>Thu, 31 Aug 2017 07:46:06 +0000</pubDate>
    <language>en-US</language>
    <wp:wxr_version>1.2</wp:wxr_version>
    <wp:base_site_url>http://localhost/</wp:base_site_url>
    <wp:base_blog_url>http://localhost/</wp:base_blog_url>

    <wp:author><wp:author_id>1</wp:author_id><wp:author_login><![CDATA[admin]]></wp:author_login><wp:author_email><![CDATA[[email protected]]]></wp:author_email><wp:author_display_name><![CDATA[admin]]></wp:author_display_name><wp:author_first_name><![CDATA[]]></wp:author_first_name><wp:author_last_name><![CDATA[]]></wp:author_last_name></wp:author>


    <generator>https://wordpress.org/?v=4.8.1</generator>

<item>
<title>title1</title>
<dc:creator><![CDATA[admin]]></dc:creator>
<category><![CDATA[Uncategorized]]></category><category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
<category domain="tag"><![CDATA[Tag1]]></category><category domain="tag" nicename="tag1"><![CDATA[Tag1]]></category>
<content:encoded><![CDATA[
<p>text</p>
]]></content:encoded>
<wp:comment_status>open</wp:comment_status>
<wp:ping_status>close</wp:ping_status>
<wp:post_name>title1</wp:post_name>
<wp:status>publish</wp:status>
<wp:post_type>post</wp:post_type>
</item>

<item>
<title>title2</title>
<dc:creator><![CDATA[admin]]></dc:creator>
<category><![CDATA[Uncategorized]]></category><category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
<category domain="tag"><![CDATA[Tag1]]></category><category domain="tag" nicename="tag1"><![CDATA[Tag1]]></category>
<content:encoded><![CDATA[
<p>text</p>
]]></content:encoded>
<wp:comment_status>open</wp:comment_status>
<wp:ping_status>close</wp:ping_status>
<wp:post_name>title1</wp:post_name>
<wp:status>publish</wp:status>
<wp:post_type>post</wp:post_type>
</item>

<item>
<title>title1</title>
<dc:creator><![CDATA[admin]]></dc:creator>
<category><![CDATA[Uncategorized]]></category><category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
<category domain="tag"><![CDATA[Tag1]]></category><category domain="tag" nicename="tag1"><![CDATA[Tag1]]></category>
<content:encoded><![CDATA[
<p>text</p>
]]></content:encoded>
<wp:comment_status>open</wp:comment_status>
<wp:ping_status>close</wp:ping_status>
<wp:post_name>title1</wp:post_name>
<wp:status>publish</wp:status>
<wp:post_type>post</wp:post_type>
</item>

</channel>
</rss>
Затестил TextKit, всё ок. Тлько автор походу перестал продавать прогу, а из демки сохранить нельзя. И прогу никак не купить, вот зе фак!?

"Продажа новых копий программы приостановлена."
__________________
I shave my balls

Последний раз редактировалось Dr.EVIL; 31.08.2017 в 15:47.
Dr.EVIL вне форума  
Старый 31.08.2017, 15:48   #9
holms
Senior Member
 
Аватар для holms
 
Регистрация: 06.04.2007
Сообщений: 1,509
Бабло: $121765
По умолчанию

Dr.EVIL, прога работает удаляет дубли, я проверил, но твой формат не приняла прога, не стал заморачиваться с ним, сделал экспорт записей с вп, сделал два дубля поста одного, он его и нашел) так что все норм) вообще прога очень хорошо мне както помогла с подготовкой контента для вп.

попробуй ему написать, новый ключ он мне недели две высылал)) а так да забросил проект, а подобной другой проги такой я не нашел.
holms вне форума  
Старый 31.08.2017, 15:53   #10
Dr.EVIL
★☆★☆★
 
Аватар для Dr.EVIL
 
Регистрация: 01.10.2009
Сообщений: 444
Бабло: $166305
ТС -->
автор темы ТС По умолчанию

Спасибо
__________________
I shave my balls
Dr.EVIL вне форума