bikalexander

Рейтинг
10
Регистрация
18.03.2015

Есть сервис, который можно предложить интернет-магазинам торгующими обувью.

Соответственно требуется список потенциальных клиентов = интернет-магазинов с посещаемостью от 40 000 в месяц.

Самые крупные уже есть, а вот средних и маленьких очень тяжело собирать в ручную....

да, так и есть, если использовать поиск.

Может есть еще какие варианты?

Спасибо!

хорошо, полных наверно и нет, ну хотя бы самые крупные каталоги?

Спасибо.

Всем привет!

Решил поделиться скриптом, который мне сделал фрилансер:

<?php

ignore_user_abort(1);
error_reporting(0);
header("Content-Type: text/html; charset=utf-8");

$cat = array();
$xml = new XMLReader();
$xml->open('./yml - Kopie.xml');

while($xml->read() && $xml->name !== 'category');
while($xml->name === 'category'){
$node = new SimpleXMLElement($xml->readOuterXML());
$id = +$xml->getAttribute("id");
$name = ''. $node;

$cat[$id] = $name;

$xml->next('category');
}
$xml->close();

//////////////////////////////

$xml = new XMLReader();
$xml->open('./yml - Kopie.xml');

$allparams = array();
$idparams = array();
while($xml->read() && $xml->name !== 'offer');
while($xml->name === 'offer'){
$node = new SimpleXMLElement($xml->readOuterXML());
$id = +$xml->getAttribute("id");

foreach ($node->param as $param){
$name = ''. $param['name'];
$value = ''. $param;
$allparams[] = ''. $param['name'];
$idparams[$id][$name] = $value;
}
$xml->next('offer');
}
$xml->close();

$allparams = array_unique($allparams);
sort($allparams);

//////////////////////////////

$xml = new XMLReader();
$xml->open('./yml - Kopie.xml');
$flag = true;
while($xml->read() && $xml->name !== 'offer');
while($xml->name === 'offer'){
$node = new SimpleXMLElement($xml->readOuterXML());

$id = $xml->getAttribute("id");
$available = $xml->getAttribute("available");
$url = $node->url;
$price = $node->price;
$currencyId = $node->currencyId;
$delivery = $node->delivery;
$local_delivery_cost = $node->local_delivery_cost;
$typePrefix = $node->typePrefix;
$vendor = $node->vendor;
$vendorCode = $node->vendorCode;
$model = $node->model;
$description = $node->description;
$cpa = $node->cpa;
$weight = $node->weight;
$pickup = $node->pickup;
$c = +$node->categoryId;
$category = $cat[$c];

$picture = '';
foreach ($node->picture as $pic){
$picture .= $pic .' ';
}

if($flag){
$str = '"id";"Наличие";"url товара";"Цена";"Валюта";"Доставка";"Цена доставки";"Тип";"Производитель";"Код производителя";"Модель";"Описание";"Заказ на маркете";"Вес";"url картинки";"Самовывоз";"Категория";';
$j = count($allparams);
while($j-- > 0){
$str .= '"'. $allparams[$j] .'";';
}
$str .= PHP_EOL;
$str = mb_convert_encoding ($str ,"Windows-1251" , "UTF-8" );
$path = fopen("out.csv", "a+");
fwrite($path, $str);
fclose($path);
$flag = false;
}

$params = '';
$j = count($allparams);
while($j-- > 0){
$params .= '"'. $idparams[$id][$allparams[$j]] .'";';
}

$str = '"'. $id .'";';
$str .= '"'. $available .'";';
$str .= '"'. $url .'";';
$str .= '"'. $price .'";';
$str .= '"'. $currencyId .'";';
$str .= '"'. $delivery .'";';
$str .= '"'. $local_delivery_cost .'";';
$str .= '"'. $typePrefix .'";';
$str .= '"'. $vendor .'";';
$str .= '"'. $vendorCode .'";';
$str .= '"'. $model .'";';
$str .= '"'. $description .'";';
$str .= '"'. $cpa .'";';
$str .= '"'. $weight .'";';
$str .= '"'. $picture .'";';
$str .= '"'. $pickup .'";';
$str .= '"'. $category .'";';
$str .= $params;
$str .= PHP_EOL;

$str = mb_convert_encoding ($str ,"Windows-1251" , "UTF-8" );
$path = fopen("out.csv", "a+");
fwrite($path, $str);
fclose($path);

$xml->next('offer');
}
$xml->close();
gc_enable();
echo 'ok';
?>

Для более быстрой обработки фида, предварительно удаляю описание товаров:

sed 's#\(<description>\).*\(</description>\)#\1'xxxxx'\2#g' test.xml > test2.xml

@scrivente

спасибо, да, так и есть, но атрибуты (параметры) скидываются все в одну колонку.

Не подскажете как заставить excel раскидывать каждый атрибут в отдельную колонку?

Спасибо.

супер, спасибо!

@RAS

а можно пример мэппинга?

Я только этот вариант успешно пробывал:

    location = /oldpage.html {

return 301 http://example.org/newpage.html;
}

Но конфиг не хотел засорять так сильно.

Я решил проблему пока на уровне ЦМС:

1. взял просто плагин для дублирования страниц

2. и еще плагин для редиректа

Xammer2000:
В чем проблема отрерайтить?

проблема с временем :) . Xammer2000, спасибо за оперативность!

Xammer2000:
это правильно, а эти новости вообще нужны вашим клиентам или нет? Может вообще не копипастить ничего

Шеф хочет чтобы было :)

ок, всем спасибо за инфу по сайтам.

А как быть с социальными сетями, там можно просто копипастить?

Заранее спасибо!

ЛехаК:
Тогда один сайт должен ссылаться в качестве источника на второй, а второй в свою очередь на первый ссылаться не должен.

все три сайта ссылаются на первоисточник совсем другого сайта.

Сейчас просмотрел вебмастер всех 3 сайтов, яндекс не индексировал страницы новостей.

Но проиндексировал общий список мероприятий.

Наверно просто выключу индексацию посредством robots.txt от греха подальше.

12
Всего: 11