- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
reactnative实战系列教程之影片数据获取并解析剖析
react native 实战系列教程之影片数据获取并解析
fetch介绍
fetch是React Native的一个网络请求库,使用该库不用引入模块,可以直接使用。一个简单的请求如下:
fetch(http://facebook.github.io/react-native/movies.json)
发起请求之后,我们还需要对它的响应进行处理,只要这样
fetch(http://facebook.github.io/react-native/movies.json)
.then((response)={
console.log(response)
}
)
.catch((e)={
console.log(e)
}
)
在浏览器中打开调试工具,在Console下输入以上代码:
从上图可以看出fetch返回的数据对象Response包含body、headers、status等。
Response常用的两个函数是
json() - 返回一个JSON格式.
text() - 返回一个文本.
fetch还可以构造复杂一点的
fetch(/endpoint/, {
method: POST,
headers: {
Accept: application/json,
Content-Type: application/json,
},
body: JSON.stringify({
firstParam: yourValue,
secondParam: yourOtherValue,
})
})
可以配置请求的方法method,头部headers和body。
上面的请求都是异步的,也可以使用同步操作,如下
async getMoviesFromApi() {
try {
let response = await fetch(http://facebook.github.io/react-native/movies.json);
let responseJson = await response.json();
return responseJson.movies;
} catch(error) {
console.error(error);
}
}
整个方法是异步的,但是内部的fetch请求是同步的,使用await 会等待fetch返回结果response再执行下一步。记得try catch任何异常。
更多fetch相关,可以查看官方文档
使用fetch获取数据
打开DramaComponent.js文件,定义一个方法fetchData
fetchData(){
var url = /hanju/new;
fetch(url)
.then((res)= res.text())
.then((html)={
console.log(html);
})
.catch((e)={
console.log(e);
}).done();
}
//在最初的render方法调用之后立即调用。
//网络请求、事件订阅等操作可以在这个方法中调用。
//作用相同与Fragment生命周期中的onViewCreate方法。
componentDidMount(){
this.fetchData();
}
这样我们就获取到网页html数据,接下来我们要解析html获取想要的数据。使用到的解析库是cheerio。
使用cheerio解析html获取影视信息
cheerio属于第三方模块,我们要使用它首先要先把它安装到我们的项目中来。
cheerio依赖events模块,所以events也要安装进来。不知道依赖关系也没事,在你运行程序的时候,它就会提示你缺少了哪个module,再安装下就可以了。
使用命令行cd到我们的跟目录下,然后执行命令
npm install cheerio --save
npm install events --save
等待安装完毕之后,在DramaComponent.js中引入该模块
import Cheerio from cheerio;
然后将html加载到cheerio解析器里,利用cheerio API进行数据提取,通读cheerio API。
var $ = Cheerio.load(html);
我们要分析提取的网站地址是/hanju/new。打开该网站,右击查看网页源代码,先自己静态分析下,该如何通过
您可能关注的文档
最近下载
- ICD-10消化系统疾病分类解析.pptx VIP
- 13G322-1~4钢筋混凝土过梁(2013年合订本).docx VIP
- 高考数学模拟卷.pdf VIP
- 数学人教版六年级下册《图形的认识与测量(一)》教学设计.doc VIP
- 钢结构工程施工质量控制ppt培训.pptx VIP
- 常州星河灯具报价清单.xls VIP
- 截止阀安装使用说明书-ArmstrongInternational.PDF VIP
- 人教版小学英语PEP五年级上册英译汉课文翻译(三起点).docx VIP
- 小升初暑假讲义17 《西游记》1 (教师版).doc VIP
- 2025年党员领导干部学习《党政机关厉行节约反对浪费条例》研讨会交流发言1.docx VIP
文档评论(0)