无法在导入时发布提取器的API.io不使用Javascript



我开始有点疯狂了,所以希望有人能帮助我。我正在尝试使用导入。IO从购物网站获取产品的名称和价格。具体来说,我正在对这个URL进行测试:http://www.roddandgunn.com/clothing/knitwear/Urquhart%20Peak%20Knit/Urquhart-Peak-Knit.html

但是,我无法获得导入。io来发布一个API,该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。谁有什么想法?

导入。io的服务器位于美国,这意味着它们使用美国的IP地址。

为什么这很重要?

如果您通过美国代理服务连接到URL(以镜像导入的内容)。IO做的时候它发布),网站显示的是不同的,导入。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。在检测最佳设置中,选择No然后选择Yes

从检测最佳设置:

检测最佳设置将通过首先关闭cookie和javascript来改变浏览器的设置,以便系统将有最好的机会提取数据

最新更新