Я занимаюсь разработкой аффилированного сайта для продуктов, аналогичных http://www.mysmartprice.com или же http://www.smartprix.com/ но я сталкиваюсь с проблемой в дизайне базы данных.
Мой подход:
Образец 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&PID=13171&Type=12&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 & Accessories|Smartphones & Basic Mobiles|Smartphones|</CategoryPathAsString>
</Product>
Я сделал отдельную таблицу для каждого сайта. И одна таблица для моего сайта, т.е. my_table, которая имеет название продукта и некоторые детали.
Всякий раз, когда производится поиск товара, он выбирается из my_table, и он выполняет поиск по другим таблицам веб-сайтов и показывает мне один и тот же продукт с его ценой на разных веб-сайтах.
Мои вопросы:
Чтобы запросить несколько веб-сайтов и найти их продукты и цены на основе запросов вашего клиента:
1) создать таблицу сайтов, по URL-адресу которых вы можете делать запросы
2) создать буферную таблицу (необязательно) для хранения проанализированных продуктов, цен и другой информации, полученной с этих веб-сайтов
3) Напишите анализатор для обработки ответа каждого веб-сайта (XML), чтобы вы могли создать список продуктов, цен, деталей и сохранить их в своей собственной буферной таблице. Это легко, если все результаты в формате XML.
4) когда ваш клиент будет искать «телефон» на вашем веб-сайте, ваш код будет отправлять запрос на каждый веб-сайт в таблице вашего веб-сайта, получать и анализировать полученные вами XML-файлы, сохранять результат в собственной буферной таблице и генерировать ответ для вашего клиента. , Если вы хотите выполнить поиск более чем на одной странице любого веб-сайта, вы должны отправить им несколько запросов с различной информацией о странице.
5) Если другой клиент снова ищет «телефон», вы можете просмотреть свою буферную таблицу и предоставить результаты напрямую. Вы можете решить, как долго вы можете доверять буферизованным результатам, прежде чем отправлять запросы снова.
6) вы можете делать много вещей на вашем буферизованном столе и предоставлять больше услуг и удобного пользовательского опыта.
7) если вы хотите, вы можете сделать некоторые предварительные «запросы», прежде чем ваш клиент отправит вам запрос, чтобы ускорить процесс.
Тебе нужно
а) хороший дизайн и обработка базы данных
б) довольно хорошее программирование (любое из php, perl, .net, java) при отправке http-запроса, разборе XML
c) довольно хорошее программирование на JavaScript для обеспечения хорошего пользовательского опыта
Других решений пока нет …