我今天在这里是因为我在 Googlesheets 中使用 ImportXML 函数时遇到一个奇怪的问题。
我正在尝试从 udemy.com 和 Skillshare.com 两个网站的不同配置文件中提取 hrefs(facebook、twitter、youtube 等)。
我从 udemy 个人资料中获得了我的目标,但没有从技能共享中获得成功。
经过多次尝试(即使使用奇怪的 xpaths_query 组合),我认为问题可能是 2 个原因:1. 网站正在闪烁我(这可能吗?,2. 我的 xpath_query 是坏的)...但是我仍然认为解决方案是非常直,但我看不出我可能会遗漏什么。
请访问我的 Googlesheet 并提供一些示例以更好地理解,您可以按顺序找到更多详细信息,那里...
看看这些例子:好结果 > 对于 Udemy,我使用了以下谷歌表功能
=IMPORTXML("https://www.udemy.com/user/saddam-kassim-2/";"//div[@class='instructor-profile--social-links--3Kub5']/a/@ href")
N/A 结果 > 对于 Skillshare,我使用了以下 google sheet 功能
=IMPORTXML("https://www.skillshare.com/user/sridhar"; "//div[@class='user-information-social-links']/a/@href")
这些是 html 代码片段:UDEMY SAMPLE HTML
我真的很感激你的想法和想法。我究竟做错了什么?我可以尝试什么?提前致谢!
链接在加载后由脚本填充,因此我们不能仅使用 XPATH。数据也位于初始文档的第三个脚本标记中。使用第一个 Skillshare URL,我们可以构建以下公式:
=ArrayFormula(
IFNA(
REGEXEXTRACT(
SPLIT(
REGEXEXTRACT(
REGEXEXTRACT(
INDEX(
IMPORTXML(
"https://www.skillshare.com/user/profkarim",
"//script"
),
3
),
"socialLinks.*sections"
),
"(\{.*\})"
),
"},{",
0,
1
),
"""url"":""?(.*?)""?,"
)
)
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句