当前位置: 首页 > 后端技术 > Node.js

用100行Nodejs代码写微博爬虫

时间:2023-04-03 12:42:18 Node.js

文章原文起始地址:https://hooyes.net/p/nodejs-w...思路是通过搜索抓取新浪微博的数据关键词搜索,分析新浪微博搜索地址格式如下:http://s.weibo.com/weibo/关键词爬虫代码文件为weibo-spider.js假设我们要查询的关键词是哈佛大学,运行方式为nodeweibo-spider.jsHarvardUniversity执行该命令后,爬虫会逐页爬取。伪代码利用上面的思路,用如下伪代码来表达这个过程//mainprogramasyncfunctionMain(keyword){leturl='http://s.weibo.com/weibo/'+keywordletdata=awaitfetchHtml(url);Worker(data);}//抓取url的程序functionfetchHtml(url){}//Worker负责解析抓取到的HTML并转化为JSONfunctionWorker(data){}//为了防止速度过快fetching,模拟一个线程等待constThread={Sleep:function(d){returnnewPromise((a,r)=>{setTimeout(()=>{a()},d)})}}//Nodejs命令行参数letargvs=process.argv;让关键字=argvs[2];主要(关键字);执行fetchHtml时,会附加一个登录cookie。本文将cookie存储在Cookie.txt中,因为cookie包含隐私信息。本文不提供。请自行获取。获取cookie的方式有很多种,例如:登录后,通过浏览器复制cookie,下面的代码是基于你已经获取了cookie。真正的代码weibo-spider.js是100行代码,依赖一个request模块和一个自定义的xhtml模块。完整代码已经开源在Hooyes的Github上,欢迎fork或建议。微博蜘蛛.jsxhtml.js