Рекомендуемые сообщения

RGB    1 054

1) Итак, первое впечатление - ничего не работает :-)/>

Потом стало понятно, что просто так тестовая страница-донор не меняется, у меня почему-то нужно нажать Сохранить один раз, страница обновится, но адрес не поменяется, потом нужно снова нажать Сохранить и лишь тогда удастся обновить этот адрес.

Вот тогда уже парсит.

2) Поехали дальше - не очень понятно зачем выводить служебную информацию на фоне основного окна и в новой вкладке (рез-ты выполнения парсинга в смысле).

3) Дальше - после парсинга товара появляется попап с новым товаром, который по умолчанию благополучно блокируется хромом :-)/> ИМХО лучше было бы его не всплывающим окном делать, а как-то по другому.

4) Не очень понятно, как работают пхп-вставки. Вот у меня один особо одаренный донор выводит атрибуты в таблице вот так:

строчка таблицы

< td >Имя атрибута< /td > < td > < /td >   < td >Значение атрибута< /td >

Средняя ячейка просто пустая :-) (табличные теги почему-то не видно, поэтому я их с пробелами пишу) Так что при парсинге по инструкциям розетки, атрибуты смешиваются в кашу. Я пытаюсь сделать в инструкции вот так (чтобы убрать эти пустые ячейки):

attributes["Характеристики"] = tags_text("#item_center table tr td")
//PHP $attributes= preg_replace( "< td > < /td >" , "" , $attributes);
//END
Но так не катит. Где моя ошибка?

5) Еще такой момент - с той же розетки можно хорошие описания парсить вот так:

description = tag_text("#short_description")
но при этом теряются хтмл-ные теги, типа абзацев, переносов. Что не есть хорошо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
RGB    1 054

Можно перед, вот так:

//PHP
$html2 = str_replace( "< td > < /td >" , "" , $html);
attributes["Характеристики"] = tags_text("#item_center table tr td",$html2)
//END

Есть команда tag_html - она даёт весь хтмл внутри тега. Она хороша для описаний.

Теперь вообще ничего не парсится - зависает на этапе Fetching

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
RGB    1 054

Ой, точки с запятой не хватает в конце во второй строчке :|

Ненене, я это заметил и исправил, все равно так же. А убираю пхп-вставку такую и все работает, не понятно чего так.

Вообще мне кажется не очень эффективным проверять весь $html на наличие таких пустых ячеек - это как стрелять из пушки по воробьям.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
snastik    848

Это тоже интересная тема! Как ты себе представляешь идеальное решение этой задачи? Куда и в каком виде должны попадать данные?

отписался в личку чтобы тут не захламлять

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
RGB    1 054

Еще вопрос - как быть для такой ситуации, когда ссылки на картинку товара нет в понятном виде (как в приведенных инструкциях, когда там все просто по тегу а находится)?

Пример с моего донора:

<a id="photogal" href="javascript:;"><div style="width:290px; height:150px; background-color: #ffffff; background-position: center center; background-size: contain; -moz-background-size: contain; background-image: url('/files/images/items/mx15r.jpg'); background-repeat: no-repeat;">
</a>

Как видно, урл картинки зашит в цсс-свойстве background-image. Резать через пхп?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
xxBRATxx    22

Еще вопрос?

Как удалять доноров??? А то на создавал кучку...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
RGB    1 054

Нашёл, почему не выдаёт текст ошибки, исправляю. В том куске кода перед attribute надо $

Только-только начал набирать тоже самое, как твое сообщение появилось :-)

Правда в этом случае есть один момент - после такого куска:

//PHP
$html2 = str_replace( "< td > < /td >" , "" , $html);
attributes["Характеристики"] = tags_text("#item_center table tr td",$html2)
//END

Весь хтмл донора (все картинки, счетчики и т.п. хлам) вываливается на страницу с выводом диагностических сообщений, ну где ошибки выводятся. Можно ли вообще сделать возможность отключения этой страницы?

А с inside тоже все хорошо, кроме одного:

$main_image = inside ( "url('" , "')", tag_attr("#item_img a div", "style") );
$main_image = "http://site.com".$main_image;
Поскольку в цсс прописываются не абсолютные пути, то надо уже в пхп добавлять site.com к адресу получившейся картинки. Ну это уже не к парсеру относится, а к инструкциям, над которыми придется шаманить.

Еще пожелание - я заметил, что спарсившиеся картинки, при наличии таких же с такими же именами, не перезаписываются, а дописываются с добавлением номера. Может стоит их все-же перезаписывать? У меня вот за время моих вышеописанных экспериментов уже 36 абсолютно одинаковых картинок. Так и место у хостера закончится в два счета, если парсить какую-нибудь розетку :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
xxBRATxx    22

Не могу понять как будет выглядеть инструкция для этого.

<table class="item">
    <tr>
	 <td class="l" >
	 
	  <a href="/catalog/parts/controllers/24596/"><div class="photo" style="background-image:url(/_catalog_images/24596_v01_s.jpg);"></div></a>
	  <b>24596 <a href="/catalog/parts/controllers/24596/">Контроллер * PCI USB 2.0 (4+1)port VIA6212 bulk</a></b>
	  <div class="descr"></div>
	 </td>
</table>
Похоже на это? tags_href(". item l b a a")

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
xxBRATxx    22

Мне кажется

tags_href( ".item tr .l b a" )
должно сработать -_-
Спасибо, понял, что вообще все неправильно сделал =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
nromka    22

Естественно, бесплатный сыр только в мышеловках. Вы сможете потестировать обработку одного товара на вашем доноре - но не сможете запустить автоматический парсинг. Пока что цена сервиса такова:

$30 за одного донора на один ваш сайт за один год
1. Из выше написанного следует, что это будет абонплата 30$ в год за одного донора? Если покупатель парсит 10 сайтов, то платит 300$ в год? Или это разовый платеж за одного донора?

2. Поменялась структура сайта. Будут инструкции переписываться и поддерживаться на протяжении года?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Tom    2 133

1. Из выше написанного следует, что это будет абонплата 30$ в год за одного донора? Если покупатель парсит 10 сайтов, то платит 300$ в год? Или это разовый платеж за одного донора?

2. Поменялась структура сайта. Будут инструкции переписываться и поддерживаться на протяжении года?

По моему первый вопрос дублирует сам себя.Я так понял это один донор.

А по второму, так вообще это цена без инструкций к донору,просто абонплата за пользование парсером.Потому и все проблемы связанные с изменением внутри донора ни как не относятся к этой сумме.

ПС У Яси эти условия оговаривались сразу и он предупреждал сразу,что бесплатно не будет вносит поправки в инструкции если что то изменилось на стороне донора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Quixtar    0

Новый простой синтаксис

Теперь инструкции как-то по-другому пишутся?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Quixtar    0

Подскажите пожалуйста, как из вот этого кода откуда я беру атрибуты убрать div'ы "Производитель", "Код производителя" и "Описание"

<div class="opened-item-right-item-line">
<div class="opened-item-right-left">Производитель</div>
<div itemprop="brand" class="opened-item-right-right">AMD</div>
</div>
<div class="opened-item-right-item-line">
<div class="opened-item-right-left">Код производителя</div>
<div class="opened-item-right-right">SDX145HBGMBOX</div>
</div>
<div class="opened-item-right-item-line">
<div class="opened-item-right-left">Процессор</div>
<div class="opened-item-right-right">AMD Sempron 145</div>
</div>
<div class="opened-item-right-item-line">
<div class="opened-item-right-left">Процессор</div>
<div class="opened-item-right-right">AMD Sempron</div>
</div>
<div class="opened-item-right-item-line">
<div class="opened-item-right-left">Разъем процессора (socket)</div>
<div class="opened-item-right-right">AM3</div>
</div>
<div class="opened-item-right-item-line">
<div class="opened-item-right-left">Описание</div>
<div class="opened-item-right-right">
<h2><span itemprop="description">Sempron 145 (2.8Ghz/1MB/45W) Socket AM3 SDX145HBGMBOX</span></h2>
</div>
</div>

Атрибуты беру по такой инструкции

attributes ["Характеристики"] = tags_text ".opened-item-right-item-line div"
Изменено пользователем Quixtar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От GeorgyM

      500.00 руб
      Скачать/Купить дополнение


      Парсинг для Opencart : загрузка товаров / статей, для Опенкарт, OcStore, v.1.x, 2.x, 3.x
      Парсинг и загрузка на Ваш сайт, товаров для Opencart, каталогов, статей, блогов, галерей, отзывов, всего, что угодно.
      Парсинг Яндекс Маркет, Авито, Юлы, любого сайта Вашего конкурента или поставщика.
      Я могу собрать любые данные в интернете и импортировать их на Ваш сайт.
       
      Как начать работать со мной: 
      1) Напишите мне  в личку - КЛИНУТЬ ЧТОБЫ НАПИСАТЬ МНЕ
      2) Укажите сайт, с которого нужно собрать данные (Домен)
      3) Укажите дополнительные пожелания
       
      НЕ НУЖНО ЗАПОЛНЯТЬ СЛОЖНОЕ ТЕХНИЧЕСКОЕ ЗАДАНИЕ
      В переписке согласуем Все детали.
       
      Загрузка на Ваш сайт или передача Вам файла в формате Вашего модуля импорта.
      Быстро, конфиденциально 
      Указана базовая стоимость.
      В зависимости от сложности проекта цена может быть изменена по согласованию.
       
      Чтобы сэкономить время на переписке, прошу внимательно отнестись к строкам ниже, по поводу ТЗ для Парсинга. Я должен понимать какие, работы мне для Вас делать, а без ТЗ я этого понять не смогу.
       
      Для понимания ТЗ мне нужно получить краткое ТЗ:
       
      Если Вам нужно получить от меня только файл для импорта и каталог картинок: дайте мне адрес сайта-донора, пример файла, который Вам нужно получить с заполненными 2-3 строками, комментарии, этого будет достаточно.  
      Если Вы хотите, чтобы я для Вас спарсил и загрузил товары: напишите мне адрес сайта-донора. Можете схематично показать какие данные со страницы донора, должны быть перенесены на Ваши страницы (в виде простых рисунков)  
      Часто возникает вопрос как скопировать товары с одного интернет магазина и загрузить товары в свой интернет магазин.
       
      Особенно Важно парсить товары если нужно перенести большой каталог на свой сайт интернет магазина, так как руками копировать товары очень долго. 
       
      Я могу спарсить самые сложные сайты: со скриптами, защитами, различными Post запросами, и предоставить Вам данные в CSV или Excel файле, нужного Вам формата.
       
      Могу загрузить опции товаров, атрибуты товаров, дополнительные картинки и тексты, отзывы.
       
      Провести нужные манипуляции с ценами и скидками на товары и прочие сложные операции.
      Могу привести каталог категорий к нужному виду, скопировав картинки и описания категорий.
       
      От Вас потребуется только, домены сайтов откуда копировать каталог, и если Вы планируете загружать самостоятельно данные в Ваш интернет магазин, пример файла в который Вам записать данные.
      Opencart Web Scraping
      Добавил GeorgyM Добавлено 22.08.2017 Категория Услуги  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу