Nodejs单页面爬虫
2020-07-14 05:35
127 查看
Nodejs单页面爬虫技术—许
npm install node //导入npm 所有的依赖包
//第一步导依赖包 var http = require('http'); var cheerio = require('cheerio'); //最后就是获取url链接 var url = require("url");//导入url依赖包 var testUrl="http://www.66lc.com/lcyw/202006/t20200619_1898065.shtml";//定义url地址 var p = url.parse(testUrl,true);//获取地址 console.log(p.href);//取到的值是:http://www.66lc.com/lcyw/202006/t20200619_1898065.shtml console.log(p.protocol);//取到的值是:http: console.log(p.hostname);//取到的值是:locahost console.log(p.host);//取到的值是:localhost:8888 console.log(p.port);//取到的值是:8888 console.log(p.path);//取到的值是:/select?aa=001&bb=002 console.log(p.query);//取到的值是:{aa: "001", bb: "002"} 未传入true取到的值是:aa=001&bb=002 //下面2个,URL.parse(testUrl,true)必须传入true console.log(p.query.aa);//取到的值是:001 console.log(p.pathname);//渠道的值是:/select //第二步导向网页发起请求 http.get('http://www.66lc.com/lcyw/202006/t20200619_1898065.shtml',function(res){ var data = ''; res.on('data',function(chunk){//on就是代表事件的意思 data += chunk;//data是存储,chunk网页里的源代码,把网页里的源代码放到data里 }); res.on('end',function(){//on就是代表事件的意思 file(data);//调用外部方法 }) }); //在data这个存储包里的查找你想获取的信息 function file(data) { var $ = cheerio.load(data);//这就是将整个网页的标签变成$符号,可获取元素的对象 var big_div=$('.titt');//这是父级元素 var big_home_tit=$('li'); var big_a=$('#menu'); var big_span=$('.info'); var zw=$('#zw'); var content=''; var ca=''; var ca1=''; var ca2=''; var s=[]; var title=[]; //新闻标题 big_div.each(function (index,item) { let tmp={ '标题':$(item).find('h1').text() } content+=JSON.stringify(tmp); console.log(content); }); //新闻发布时间 big_span.each(function (index,item) { let s1={ '发布时间':$(item).find('span').text() } s+=JSON.stringify(s1); console.log(s); }); //查询网页新闻正文不带html标签与新闻正文带html标签 zw.each(function (index,item) {//each也是事件 let a1 = { '新闻正文不带html标签': $(item).find('p').text(), '新闻正文带html标签': $(item).find('p').html() } ca2 += JSON.stringify(a1); console.log(ca2); }); //判断此新闻是否原创 big_span.each(function (index,item) { var name=$(item).find('span').eq(0).text(); var name1='鹿城新闻网'; console.log(name); if(name1=== name){ console.log('此新闻是原创'); }else{ console.log('此新闻非原创'); } }); }
相关文章推荐
- nodejs单页面爬虫(二)--解决编码问题
- 基于nodejs 的多页面爬虫实例代码
- nodejs单页面爬虫(二)--解决编码问题
- Nodejs 实现爬虫的改造:Promise优化、动态页面数据的获取、多个页面并发爬取
- NodeJs爬虫抓取古代典籍,共计16000个页面心得体会总结及项目分享
- 【python爬虫笔记】一:先爬一个小页面
- Django+爬虫 搭建一个机票查询页面
- python爬虫:selenuim+phantomjs模拟浏览器操作,用BeautifulSoup解析页面,用requests下载文件
- 一次使用NodeJS实现网页爬虫记
- HTTP小爬虫 ,nodejs学习(二)
- 聚焦网络爬虫之Xpath+HttpClient快速实现页面新闻抓取
- 两种网页爬虫技术实现跨域(nodejs+java)(解决'X-Frame-Options'问题)
- 一个简单的爬虫程序(爬取百度百科关于python的一千个页面)
- 爬虫之页面链接获取
- 从零开始,做一个NodeJS博客(四):服务器渲染页面与Pjax
- 学习笔记(05):跟宁哥学python scrapy爬虫开发-处理带隐藏文本框的登录页面【思考题】...
- 用requests爬虫拒绝301/302页面的重定向而拿到Location(重定向页面URL)的方法
- nodejs爬虫项目实战 - 小莫 - SegmentFault
- nodejs 爬虫
- php爬虫教程(一) 简单的页面抓取