Я начинаю немного сходить с ума здесь, поэтому, надеюсь, кто-то там может помочь. Я пытаюсь использовать import.io, чтобы получить название и цену продукта с торгового сайта. В частности, я тестирую этот URL: http://www.roddandgunn.com/clothing/knitwear/Urquhart%20Peak%20Knit/Urquhart-Peak-Knit.html
Однако я не могу заставить import.io опубликовать API, который на данный момент получает только название продукта. Я вручную переопределил XPath, javascript отключен для страницы, но каждый раз, когда я пытаюсь опубликовать, я получаю сообщение об ошибке «API не удалось опубликовать».
Это текст, который появляется, когда я отображаю JSON:
{
"offset": 0,
"connectorGuid": "023f6433-7553-4d17-8036-924c9434c7ba",
"results": [
{
"clothing_name": "Westown Wool Coat"
}
],
"title": "Rodd & Gunn | Authentic Range - Westown Wool Coat",
"pageUrl": "http://www.roddandgunn.com/authentic-range/Westown%20Wool%20Coat/Westown-Wool-Coat.html"
}
(Правая сторона):
{
"extraction": {
"resultPipeline": [
{
"configuration": {
"property": "clothing_name",
"xpaths": [
"//h1[@itemprop='name']"
]
}
}
],
"resultXPaths": [
"/html/body"
]
},
"urlProperties": [],
"version": 4,
"playback": {
"fixHtml": true,
"url": "${webpage/url}"
}
}
Я не знаю, как я могу упростить его еще больше, и поэтому я не уверен, почему он отказывается позволить мне опубликовать API для него. У кого-нибудь есть идеи ?
2 ответа
Серверы import.io расположены в США, что означает, что они используют американские IP-адреса.
Почему это важно?
Если вы подключаетесь к URL-адресу через прокси-службу США (чтобы отразить то, что делает import.io при публикации), отображаемый веб-сайт отличается, import.io перенаправляется и не может видеть ваши данные!
Исправить это довольно просто (после копания на сайте и игры с несколькими прокси)
Вы можете указать серверу отображать правильную версию веб-сайта, добавив следующее в конец URL-адреса:
isams=setsite&wsid=2
Например: http://www.roddandgunn.com/clothing/knitwear/Urquhart%20Peak%20Knit/Urquhart-Peak-Knit.html?isams=setsite&wsid=2
Он публикует! https://import.io/data/mine/?id=ae62a9b1-5adb-438e-a17b-78d528a1cde2
Если вы хотите передать больше URL-адресов через экстрактор, вам нужно добавить isams=setsite&wsid=2
к другим URL-адресам, которые вы хотите извлечь.
Вы можете включить Javascript на странице во время обучения вашего экстрактора. В разделе Определить оптимальные настройки выберите Нет, а затем Да.
Из Определить оптимальные настройки:
Обнаружение оптимальных настроек изменит настройки браузера, предварительно отключив файлы cookie и JavaScript, чтобы у системы было больше шансов извлечь данные.
Похожие вопросы
Новые вопросы
import.io
Превратите любой веб-сайт в таблицу данных или структурированный API за считанные минуты, даже не написав никакого кода.