0

我今天来到这里是因为我在 Googlesheets 中使用 ImportXML 函数时遇到了一个奇怪的问题。

我正在尝试从 2 个网站的不同配置文件中提取 href(facebook、twitter、youtube 等):udemy.com 和 Skillshare.com。

我从 udemy 个人资料中获得了我的目标,但从 Skillshare 那里没有运气。

经过多次尝试(即使使用奇怪的 xpaths_query 组合),我认为问题可能是 2 个原因:1. 网站正在闪烁我(这可能吗?,2. 我的 xpath_query 不好)......但是我仍然认为解决方案是非常直,但我看不出我可能会错过什么。

请访问我的 Googlesheet 和几个示例以便更好地理解,您可以按顺序找到更多详细信息,那里...

看看这些例子:好结果 > 对于 Udemy,我使用了以下 google sheet 函数

=IMPORTXML("https://www.udemy.com/user/saddam-kassim-2/";"//div[@class='instructor-profile--social-links--3Kub5']/a/@参考文献")

N/A RESULTS > 对于 Skillshare,我使用了以下 google sheet 函数

=IMPORTXML("https://www.skillshare.com/user/sridhar"; "//div[@class='user-information-social-links']/a/@href")

这些是 html 代码片段: UDEMY SAMPLE HTML

技能共享 HTML 示例

我真的很感激你的想法和想法。我究竟做错了什么?我可以尝试什么?提前致谢!

4

1 回答 1

0

链接在加载后由脚本填充,因此我们不能只使用 XPATH。数据也位于初始文档的第三个脚本标记中。使用第一个 Skillshare URL,我们可以构造以下公式:

=ArrayFormula(
    IFNA(
        REGEXEXTRACT(
            SPLIT(
                REGEXEXTRACT(
                    REGEXEXTRACT(
                        INDEX(
                            IMPORTXML(
                                "https://www.skillshare.com/user/profkarim",
                                "//script"
                            ),
                            3
                        ),
                        "socialLinks.*sections"
                    ),
                    "(\{.*\})"
                ),
                "},{",
                0,
                1
            ),
            """url"":""?(.*?)""?,"
        )
    )
)
于 2020-09-17T16:30:54.897 回答