如何获取Pinterest Pin的.mp4和.png链接 用于开发下载应用?
Pinterest Pin 资源链接获取方案(Android 开发场景)
以下是两种可在Android Studio开发中落地的获取方式:
方案1:解析单Pin页面静态HTML
- 首先从Pinterest的分享链接中提取Pin ID,构造单Pin访问链接:
https://www.pinterest.com/pin/{你的PinID}/ - 使用OkHttp、Volley等Android网络库发起GET请求,请求头需要配置和普通浏览器一致的User-Agent,不要使用默认的网络库标识,避免被反爬机制拦截
- 解析返回的HTML内容提取资源链接:
- 图片资源:查找
data-test-id="pin-image-view"属性的img标签,其src属性就是默认分辨率的png/jpg资源链接,如需最高清原图,将链接中的分辨率标识(如736x、564x)替换为originals即可 - 视频资源:如果是视频类Pin,查找
type="video/mp4"的source标签,其src属性就是mp4资源链接,替换分辨率参数为originals即可获取无压缩原片
- 图片资源:查找
- 若遇到反爬拦截,可以先请求一次Pinterest首页拿到有效Cookie后,再携带Cookie请求Pin页面,通过率会高很多
方案2:调用Pinterest内部API(稳定性更高)
- 抓包Pinterest移动端请求即可拿到内部Pin信息接口规则,接口返回JSON格式数据,无需解析HTML,不会因为前端页面改版失效
- 图片链接存放在返回数据的
data.images.orig.url字段,为最高清原图地址 - 视频链接存放在返回数据的
data.videos.video_list字段下,V_ORIGINAL对应的url即为原片mp4直链 - 如果不想处理接口签名校验,可以在应用内启动一个隐藏的WebView加载Pin页面,通过拦截WebView的资源请求直接拿到接口返回的JSON数据,绕开签名生成逻辑
注意:请仅将上述技术用于下载你拥有版权或获得官方授权的资源,未经许可下载、传播他人原创内容涉嫌违反相关法律法规及Pinterest用户协议,相关后果需自行承担。
内容的提问来源于stack exchange,提问作者L-Shin
相关产品推荐
相关产品推荐

