美文网首页Vue学习笔记
用JSONP抓取数据

用JSONP抓取数据

作者: fred_33c7 | 来源:发表于2018-06-26 18:31 被阅读25次

jsonp,vue,前端
很多网站都是用jsonp传输数据的,可以抓取这些数据。
提供一个封装好的jsonp方法。
首先需要安装jsonp包npm install jsonp

import originJsonp from 'jsonp'

export default function jsonp2(url, data, option) {
  url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)

  return new Promise((resolve, reject) => {
    originJsonp(url, option, (err, data) => {
      if (!err) {
        resolve(data)
      } else {
        reject(err)
      }
    })
  })
}

function param(data) {
  let url = ''
  for (var k in data) {
    let value = data[k] !== undefined ? data[k] : ''
    url += '&' + k + '=' + encodeURIComponent(value)
  }
  return url ? url.substring(1) : ''
}

这样就可以提交param来获取jsonp


image.png

例如这个qq音乐的web端,我们就发现这么一个ajax,用来传输首页得音乐列表。可以用我们上面的方法来获取。

import jsonp from 'common/js/jsonp'
import {commonParams, options} from './config'
import axios from 'axios'

export function getRecommend() {
  const url = 'https://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg'

  const data = Object.assign({}, commonParams, {
    platform: 'h5',
    uin: 0,
    needNewCode: 1
  })

  return jsonp(url, data, options)
}

使用时,在组件的methods方法中调用getRecommend()方法,就可以看到了。我们console.log()一下试一试

image.png
发现这个列表我们已经获取到了。

相关文章

  • 用JSONP抓取数据

    jsonp,vue,前端很多网站都是用jsonp传输数据的,可以抓取这些数据。提供一个封装好的jsonp方法。首先...

  • vue音乐APP03:jsonp promise化

    1.JSONP的用途和原理 使用JSONP主要是目的通过动态创建Script,动态拼接url,进而抓取数据,实现跨...

  • jsonp跨域问题浅析

    超级精简: 使用JSONP主要是目的通过动态创建Script,动态拼接url,进而抓取数据,实现跨域。确切地说,A...

  • vue使用jsonp抓取qq音乐数据

    1、安装jsonp 2、创建jsonp.js文件,内容如下: 3、创建confiig.js文件,内容如下: 3、创...

  • Jsonp抓取QQ音乐轮播图数据

    总结: Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(t...

  • 实现跨域的方法

    不同域下的接口获取数据,可以使用jsonp和cors。(ie10以下可以使用jsonp获取数据) jsonp实现跨...

  • 服务端nodejs抓取jsonp接口数据

    众所周知,jsonp 接口返回的是一段 js 脚本,在浏览器中使用 script 标签引入、加载成功后,会直接执行...

  • 2018-06-27

    JSONP 应用 服务端JSONP格式数据 假设客户期望返回JSON数据:["customername1","cu...

  • 《增长黑客》第三章(二)

    关键词:内容营销 心得: 3.4用数据抓取“借鸡下蛋” 抓取网上的开放内容或数据为自己的产品所用。例如:文章中新的...

  • 用 Appium 抓取手机 app 微信 的 数据

    用 Appium 抓取手机 app 微信 的 数据本编教程从 appium 的环境配置开始,到抓取手机 app 微...

网友评论

    本文标题:用JSONP抓取数据

    本文链接:https://www.haomeiwen.com/subject/beumyftx.html