'use strict' var co = require('co'); var cheerio = require('cheerio'); var Promise = require('bluebird'); var request = Promise.promisify(require('request')); var URL = 'http://www.piaohua.com/'; var typeLink = { V1001_TODAY_LATEST:'http://www.piaohua.com/', V1001_TYPE_KEHUAN:'http://www.piaohua.com/html/kehuan/index.html', V1001_TYPE_XUANYI:'http://www.piaohua.com/html/xuannian/index.html', V1001_TYPE_AIQING:'http://www.piaohua.com/html/aiqing/index.html', V1001_TYPE_WENYI:'http://www.piaohua.com/html/wenyi/index.html', V1001_AREA_DALU:'http://www.piaohua.com/html/zhanzheng/index.html', V1001_AREA_GANGTAI:'http://www.piaohua.com/html/kongbu/index.html', V1001_AREA_OUMEI:'http://www.piaohua.com/html/lianxuju/index.html', V1001_AREA_HANGUO:'http://www.piaohua.com/html/zongyijiemu/index.html' } function getftpLink(link){ return new Promise(function(resolve,reject){ request.get(link,function(err,res,body){ if(!err && res.statusCode == 200){ var $ = cheerio.load(body); var ftp = $('#showinfo').find('table tbody tr td a').html(); resolve(ftp); }else{ reject('failed to get the ftp!'); } }); }); } function getTodayLatest(){ return new Promise(function(resolve,reject){ request.get(URL,function(err,res,body){ if(err){ console.log('failed to crawl the piaohua.com!') resolve(); }else{ var $ = cheerio.load(body); var movieLists = []; var _movieList = $('#iml1').children("ul").first().find('li'); _movieList.each(function(item){ var time = $(this).find('span font').html() ? $(this).find('span font').html() : $(this).find('span').html(); if((new Date() - new Date(time)) < 259200000){ // 3 days var dom = $(this).find('a').first(); var link = URL + $(dom).attr('href'); var img = $(dom).find('img').attr('src'); var name = $(dom).find('img').attr('alt').substr(22).replace('</font>',''); var movie = { name:name, img:img, link:link, time:time, } movieLists.push(movie); }; }); resolve(movieLists); } }); }); } function getListByEventKey(eventKey){ return new Promise(function(resolve,reject){ getPageByUrl().then(function(movieList){ for(var i=0;i<movieList.length;i++){ request.get(movieList[i].link,function(err,res,body){ if(!err && res.statusCode == 200){ var $ = cheerio.load(body); var ftp = $('#showinfo').find('table tbody tr td a').html(); movieList[i].ftp = unescape(ftp.replace(/;/g,'').replace(/&#x/g, "%u")); }else{ reject('failed to get the ftp!'); } }); resolve(movieList); } }); }); } exports.getCrawlMovieList = function* (eventKey){ var movieList; if(eventKey === 'V1001_TODAY_LATEST'){ movieList = yield getTodayLatest(); }else{ movieList = yield getListByEventKey(eventKey); } for(var i = 0; i < movieList.length; i ++){ var ftp = yield getftpLink(movieList[i].link); movieList[i].ftp = unescape(ftp.replace(/;/g,'').replace(/&#x/g, "%u")); } return movieList; }
相关推荐
electron electron-vue 代理工具 抓包工具 网络功能工具 anyproxy
http://devuser.github.io/docker-spider/ 使用Node.js编写爬虫抓取大麦网场馆数据。 仅用于初学者,请勿用于非法用途,切勿频繁访问大麦网。
获取页面 清除HTTP请求以删除Internet页面 安装 $ npm install get-page --save 用法 以字符串形式获取页面: // Getting pages as string var getPage = require('get-page').string; ... console.log(page);...
腾讯开源的以提升问题定位效率为初衷,提供染色抓包、全息日志和异常发现的Node.js框架。.zip,腾讯服务器网
主要介绍了nodejs简单抓包工具使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
节点红色贡献-pcap node-red-contrib-pcap添加了对支持,以使用捕获和解码网络数据包。安装在安装此模块之前,您需要在系统上安装 。 在 Debian 和 Ubuntu 上: apt-get install libpcap-dev在 MacOS X 上,使用 : ...
Scripts_Web_UI_Autotest简介: 在前端 UI 自动化测试中,提供类抓包工具的拦截 url 断点处理和 mock 数据等功能, 并集成埋点自动化测试,让你的前端自动化彻底摆脱后端和抓包工具的束缚,直接起飞。技术栈: node.js...
LivePool 是一个基于 NodeJS,类似 Fiddler 支持抓包和本地替换的 Web 开发调试工具,是 Tencent AlloyTeam 在开发实践过程总结出的一套的便捷的 WorkFlow 以及调试方案。
Tencent Server Web(TSW),是一套面向WEB前端开发者,以提升问题定位效率为初衷,提供染色抓包、全息日志和异常发现的Node.js基础设施。TSW关注业务的运维监控能力,适用于http、websocket协议的业务场景,可无缝与...
此方法简单易懂,技术成本低,大体思路就是利用抓包工具抓取运动软件同步微信步数接口,通过模拟数据来请求微信,达到修改目的。 工具: 1.抓包工具(就用常用的Flidder)怎么用的话 可以百度 2. 运动软件 (就先拿...
阿里巴巴开源,基于Node.js的网络抓包工具,支持HTTP/HTTPS,支持二次开发 - iOS最好用的抓包工具,不用PC做代理 - 安卓抓包工具 接口工具 业内常用的接口调试工具 - 谷歌出品的优秀接口调试工具 - Postman开源替代...
需要自己使用抓包软件去抓取cookie信息 抓包文件放到apk文件中了 更新文档 v1.3 优化代码,调整页面的细节 修改页面提示信息反馈,按钮大小的修改 移动端优化,禁止用户缩放页面,禁止左右滑动 v1.2 将详情表格信息...
node编写一个抓包脚本监测在售的电影中是否有 “复仇者联盟” 这几个关键词,如果有则直接发送短信~ 实现 要想实现我的想法,运用到了2个node库:superagent 和 cheerio ,分别实现发送请求和dom节点分析。 设置...
仿网易优选APP商城源码,采用Vue全家桶+mintUI+axios技术栈开发,只写了前端,后端采用网易商场抓包接口,也可以二次修改成自己的接口。 实现了功能:首页、商品列表、商品分类、下单、购物车、个人中心、值得买...
安装npm install imdonix/ingatlan-scraper --save用法const scarp = require ( 'ingatlan-scraper' )const options = { //How much page you want to scrap (Default: 5) depht : 10 , //The timeout between 2 ...
idol-grab-utils抓取口袋48(聚聚房间/直播录播源信息)/微博/摩点众筹/摩点微打赏 工具集,提供 HTTP 方式访问 or Node.js API安装使用 Git 克隆(通过 HTTP 访问):$ git clone ...NPM 安装(直接使用 API):$ npm ...
现在有个需求,需要用Fiddler抓包我发出去的请求,以便和浏览器发出去的包进行对比。 因为需要解密HTTPS报文,需要让node要么忽略证书安全,要么信任Fiddler的CA证书。 网上找了一圈,总结如下: 方法一:设置环境...