用Google Sheets IMPORTXML爬LinkedIn链接仅得缩略图?解决方法
Google Sheets 提取指定页面LinkedIn链接的实操方案
原抓取失效的核心原因
- 目标页面的LinkedIn入口采用嵌套结构:外层是带跳转属性的
<a>标签,内层才是LinkedIn缩略图<img>元素 - 此前使用的IMPORTXML选择器直接命中了内层img节点,因此仅能拿到缩略图的图片地址,无法获取外层
<a>标签存储的LinkedIn跳转URL。 - 目标页面对Google Sheets的爬虫请求无拦截,可直接通过内置函数完成提取,无需额外脚本工具。
可直接使用的提取公式
在Google Sheets任意空白单元格输入以下公式即可直接拉取所有LinkedIn跳转链接:
=IMPORTXML("https://investors.atlassian.com/corporate-governance/board-of-directors/default.aspx#", "//a[.//img[contains(@src,'linkedin')]]/@href")
- 选择器逻辑说明:
- 先定位页面内所有
<a>标签,筛选规则为当前a标签内部包含src路径带"linkedin"标识的缩略图(即此前你能成功抓取到的图片元素) - 直接提取筛选后a标签的href属性,跳过对图片节点的无效抓取。
- 先定位页面内所有
异常场景处理
- 若公式返回
#N/A,说明页面结构有小幅调整,可替换为更宽松的选择器重试:=IMPORTXML("https://investors.atlassian.com/corporate-governance/board-of-directors/default.aspx#", "//a[contains(@href,'linkedin.com')]/@href") - 若返回值为站点相对路径(非完整LinkedIn地址),用拼接公式补全域名即可:
=CONCAT("https://investors.atlassian.com", 单元格内的相对路径值) - 若全页面拉取出现超时,可拆分步骤:先用
IMPORTHTML单独拉取董事会成员板块的内容表格,再在表格范围内提取对应LinkedIn链接,降低单次拉取的数据量。
内容的提问来源于stack exchange,提问作者Jack Hammond
相关产品推荐
相关产品推荐

