'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; }
相关推荐
使用Node.js进行抓包,我们首先要安装Node.js环境,然后通过npm(Node.js的包管理器)安装所需的模块。例如,在上述示例中,使用了cheerio和request模块。cheerio模块能够解析HTML,让开发者能像使用jQuery一样操作...
electron electron-vue 代理工具 抓包工具 网络功能工具 anyproxy
在这个主题下,“抓包”和“测试”是两个关键概念,它们对于理解和优化网络应用程序至关重要。 抓包(Packet Capture)是网络诊断和分析的基础工具。它允许我们捕获网络上的数据包,以便查看其内容、源地址、目标...
本文将详细讲解如何安装并使用`gulp`作为抓包工具,以提高前端开发效率和优化工作流程。 首先,让我们了解什么是`gulp`。`gulp`是一个基于流的自动化构建工具,它允许开发者定义一系列的任务来处理项目中的文件,如...
http://devuser.github.io/docker-spider/ 使用Node.js编写爬虫抓取大麦网场馆数据。 仅用于初学者,请勿用于非法用途,切勿频繁访问大麦网。
【标题】中的“腾讯开源的以提升问题定位效率为初衷,提供染色抓包、全息日志和异常发现的Node.js框架”指的是腾讯推出的一个专门针对Node.js应用的开源框架,该框架的主要目标是提高开发者在遇到问题时的定位效率。...
在本篇详解中,我们将深入探讨如何对kad协议中的nodes.dat文件进行抓包分析,以及从这些数据中提取出有价值的信息。 首先,了解Kademlia算法是至关重要的。Kademlia是一种基于 XOR 距离的分布式哈希表(DHT),其...
获取页面 清除HTTP请求以删除Internet页面 安装 $ npm install get-page --save 用法 以字符串形式获取页面: // Getting pages as string var getPage = require('get-page').string; ... console.log(page);...
节点红色贡献-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 以及调试方案。
8. **网络编程语言和框架**:使用特定的编程语言和框架(如Python、Java、Node.js等)进行网络应用的开发。 9. **分布式系统开发**:设计和实现分布式计算系统,这些系统可以跨多个物理位置运行。 10. **网络性能...
Tencent Server Web(TSW),是一套面向WEB前端开发者,以提升问题定位效率为初衷,提供染色抓包、全息日志和异常发现的Node.js基础设施。TSW关注业务的运维监控能力,适用于http、websocket协议的业务场景,可无缝与...
常用的抓包方法包括基于Wireshark的抓包方法、基于Tcpdump的抓包方法等。 4.3 分析举例 抓包工具可以用来捕获智能电子设备之间的通信数据,例如MMS报文等。通过分析抓包的数据,可以了解智能电子设备之间的通信机制...
以上步骤和知识点描述了如何安装网卡驱动,安装和配置Omnipeek抓包软件,以及进行无线网络抓包和分析的过程。这些操作对于网络管理员和安全测试人员来说是基本技能,可以帮助他们监控网络活动、诊断网络问题或进行...
3. 使用工具如 BurpSuite 或其他 HTTP 抓包工具,构造包含恶意 payload 的 HTTP 请求。payload 通常包含多次“..”以实现目录穿越,例如:`/../../../a/../../../../etc/passwd`,目标是读取系统中的 `/etc/passwd` ...
此外,eMule等其他P2P软件也融入了类似Kad的技术,尽管它们在key、value和nodeID的计算方法上有所不同。 #### 四、Kad协议的优势与挑战 Kademlia协议的优势主要体现在高效性与鲁棒性上。XOR度量机制简化了节点间的...