Разработка базы данных партнерского сайта и разработка API

Я занимаюсь разработкой аффилированного сайта для продуктов, аналогичных http://www.mysmartprice.com или же http://www.smartprix.com/ но я сталкиваюсь с проблемой в дизайне базы данных.

Мой подход:

  • Сначала я загрузил XML каждого веб-сайта, который предоставляется самим веб-сайтом электронной коммерции. Он содержит подробную информацию о продуктах на этом сайте.

Образец XML-файла

<Product><ProductID>41410399</ProductID>
<ProductSKU>B00LTUN476</ProductSKU>
<ProductName>Micromax Canvas HD Plus A190 (White)</ProductName>
<ProductDescription>8MP primary camera with full HD video recording, LED flash, 4x digital zoom, auto focus and 2MP front facing camera 5-inch HD capacitive touchscreen with 1280 x 720 pixels resolution Android v4.4.2 KitKat operating system with 1.5GHz hexa core processor, 1GB RAM and 8GB internal memory expandable up to 32GB 2000mAH battery providing talk-time up to 7 hours and standby time up to 250 hours on 2G networks 1 year manufacturer warranty for device and 6 months manufacturer warranty for in-box accessories including batteries from the date of purchase</ProductDescription>
<ProductPrice>8069.00</ProductPrice>
<ProductPriceCurrency>INR</ProductPriceCurrency>
<WasPrice>0.00</WasPrice>
<DiscountedPrice>0.00</DiscountedPrice>
<ProductURL>http://clk.omgt5.com/?AID=630405&amp;PID=13171&amp;Type=12&amp;r=http://www.amazon.in/dp/B00LTUN476/ref%3Dasc_df_B00LTUN47626216749/</ProductURL>
<PID>13171</PID>
<MID>661795</MID>
<ProductImageSmallURL>http://ecx.images-amazon.com/images/I/51EbrIOWRtL._SL75_.jpg</ProductImageSmallURL>
<ProductImageMediumURL>http://ecx.images-amazon.com/images/I/51EbrIOWRtL._SL160_.jpg</ProductImageMediumURL>
<ProductImageLargeURL>http://ecx.images-amazon.com/images/I/51EbrIOWRtL.jpg</ProductImageLargeURL>
<MPN>MCX_A190_WHE</MPN>
<StockAvailability>Usually dispatched within 24 hours</StockAvailability>
<Brand>Micromax</Brand>
<custom1>Shipping Charge INR -0.00</custom1>
<CategoryName>Smartphones</CategoryName>
<CategoryPathAsString>Root|Electronics|Categories|Mobiles &amp; Accessories|Smartphones &amp; Basic Mobiles|Smartphones|</CategoryPathAsString>
</Product>
  • Я сделал отдельную таблицу для каждого сайта. И одна таблица для моего сайта, т.е. my_table, которая имеет название продукта и некоторые детали.

  • Всякий раз, когда производится поиск товара, он выбирается из my_table, и он выполняет поиск по другим таблицам веб-сайтов и показывает мне один и тот же продукт с его ценой на разных веб-сайтах.

Мои вопросы:

  1. Мой подход правильный?
  2. Веб-сайты электронной коммерции не предоставляют описание продукта отдельно. Они предоставляют это в виде абзаца. Так как я могу использовать фильтры в разных продуктах, потому что ввод данных вручную невозможен для 2 миллионов продуктов.
  3. Как сделать API-интерфейс таким, чтобы в случае какого-либо изменения цены продукта на каком-либо веб-сайте это напрямую отражалось на моем веб-сайте?

1

Решение

Чтобы запросить несколько веб-сайтов и найти их продукты и цены на основе запросов вашего клиента:

1) создать таблицу сайтов, по URL-адресу которых вы можете делать запросы

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

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

4) когда ваш клиент будет искать «телефон» на вашем веб-сайте, ваш код будет отправлять запрос на каждый веб-сайт в таблице вашего веб-сайта, получать и анализировать полученные вами XML-файлы, сохранять результат в собственной буферной таблице и генерировать ответ для вашего клиента. , Если вы хотите выполнить поиск более чем на одной странице любого веб-сайта, вы должны отправить им несколько запросов с различной информацией о странице.

5) Если другой клиент снова ищет «телефон», вы можете просмотреть свою буферную таблицу и предоставить результаты напрямую. Вы можете решить, как долго вы можете доверять буферизованным результатам, прежде чем отправлять запросы снова.

6) вы можете делать много вещей на вашем буферизованном столе и предоставлять больше услуг и удобного пользовательского опыта.

7) если вы хотите, вы можете сделать некоторые предварительные «запросы», прежде чем ваш клиент отправит вам запрос, чтобы ускорить процесс.

Тебе нужно
а) хороший дизайн и обработка базы данных
б) довольно хорошее программирование (любое из php, perl, .net, java) при отправке http-запроса, разборе XML
c) довольно хорошее программирование на JavaScript для обеспечения хорошего пользовательского опыта

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector