Node.js 爬虫,自动化抓取文章标题和正文

持续进行中。。。

目标:

  • 动态User-Agent模拟浏览器 √
  • 支持Proxy设置,避免被服务器端拒绝 √
  • 支持多核模式,发挥多核CPU性能 √
  • 支持核内并发模式 √
  • 自动解码非英文站点,避免乱码出现 √
  • 自动队列管理,持续化PUSH √
  • 自动抓取文章标题和正文 √
  • 性能优化
  • 测试用例,自动化测试

我的测试环境:

  • 9 台安装 ElasticSearch 1.3.2 的 centos,48G内存,8核
  • 3 台 Node.js v0.11.14 的 centos,16G内存,8核,用作爬虫
  • 3 台 NSQD 服务器, 用作爬虫解耦后的数据订阅和发送,与爬虫共用, 其中 1 台部署 NSQ Lookupd
  • 国内主要门户的站点管理,使用Kue,链接,正文之间的传递采用NSQ

结果:

  • 日均数据 50W 左右

开源地址:https://github.com/Tjatse/spider2

时间: 2024-08-25 18:57:07

Node.js 爬虫,自动化抓取文章标题和正文的相关文章

一个简书的爬虫,可以设定页码,抓取文章标题、简介以及链接

1 #coding=utf-8 2 import requests 3 from bs4 import BeautifulSoup 4 5 m=input("请输入想要抓取的页码数量:") 6 for i in range(1,int(m)): 7 url="https://www.jianshu.com/?page="+str(i) 8 headers={ 9 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64;

Node.js爬虫-爬取慕课网课程信息

第一次学习Node.js爬虫,所以这时一个简单的爬虫,Node.js的好处就是可以并发的执行 这个爬虫主要就是获取慕课网的课程信息,并把获得的信息存储到一个文件中,其中要用到cheerio库,它可以让我们方便的操作HTML,就像是用jQ一样 开始前,记得 npm install cheerio 为了能够并发的进行爬取,用到了Promise对象 //接受一个url爬取整个网页,返回一个Promise对象 function getPageAsync(url){ return new Promise(

node.js爬虫杭州房产销售及数据可视化

现在年轻人到25岁+,总的要考虑买房结婚的问题,2016年的一波房价大涨,小伙伴们纷纷表示再也买不起上海的房产了,博主也得考虑考虑未来的发展了,思考了很久,决定去杭州工作.买房.定居.生活,之前去过很多次杭州,很喜欢这个城市,于是例行每天晚上都要花一点时间关注杭州的房产销售情况,以及价格,起初我每天都在杭州的本地论坛,透明售房网上查看,每一天的房产销售数据,但是无奈博主不是杭州本地人,看了网页上展示的很多楼盘,但是我不知道都在什么地方啊,于是乎,看到价格合适的,总是到高德地图去搜索地理位置,每次

【JAVA系列】Google爬虫如何抓取JavaScript的?

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[JAVA系列]Google爬虫如何抓取JavaScript的? 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 我们测试了谷歌爬虫是如何抓取 JavaScript,下面就是我们从中学习到的知识. 认为 Google 不能处理 JavaScript ?再想想吧.Audette Audette 分享了一系列测试结果,他

Java广度优先爬虫示例(抓取复旦新闻信息)

一.使用的技术 这个爬虫是近半个月前学习爬虫技术的一个小例子,比较简单,怕时间久了会忘,这里简单总结一下.主要用到的外部Jar包有HttpClient4.3.4,HtmlParser2.1,使用的开发工具(IDE)为intelij 13.1,Jar包管理工具为Maven,不习惯用intelij的同学,也可以使用eclipse新建一个项目. 二.爬虫基本知识 1.什么是网络爬虫?(爬虫的基本原理) 网络爬虫,拆开来讲,网络即指互联网,互联网就像一个蜘蛛网一样,爬虫就像是蜘蛛一样可以到处爬来爬去,把

(插播)网络爬虫,抓取你想要得东西。

最近,有个朋友说,想在一些页面上获取一些关键性得信息.比如,电话,地址等等.一个个页面去找 又很麻烦.这时候,想起了 何不去用"爬虫"去抓取一些想要得东西.省事,省里.好,今天 我们就讲讲,关于爬虫得一些东西. 这里 自己也是,看了一些关于爬虫得知识,正好,这几日闲来没事.做了一个功能小得爬虫. 这里是使用 java来进行编写得  首先 我们来介绍下.使用得框架,jdk1.6,htmlparser.jar(java 经典访问html页面得类),httpclient-3.01.jar,l

Node.js abaike图片批量下载Node.js爬虫1.00版

这个与前作的差别在于地址的不规律性,需要找到下一页的地址再爬过去找. //====================================================== // abaike图片批量下载Node.js爬虫1.00 // 2017年11月9日 //====================================================== // 内置http模块 var http=require("http"); // 内置文件处理模块,用于创

Node.js aitaotu图片批量下载Node.js爬虫1.00版

即使是https网页,解析的方式也不是一致的,需要多试试. 代码: //====================================================== // aitaotu图片批量下载Node.js爬虫1.00 // 2017年11月14日 //====================================================== // 内置http模块 var https=require("https"); // 内置文件处理模块,

Python爬虫实战---抓取图书馆借阅信息

原创作品,引用请表明出处:Python爬虫实战---抓取图书馆借阅信息 前段时间在图书馆借了很多书,借得多了就容易忘记每本书的应还日期,老是担心自己会违约,影响日后借书,而自己又懒得总是登录到学校图书馆借阅系统查看,于是就打算写一个爬虫来抓取自己的借阅信息,把每本书的应还日期给爬下来,并写入txt文件,这样每次忘了就可以打开该txt文件查看,每次借阅信息改变了,只要再重新运行一遍该程序,原txt文件就会被新文件覆盖,里面的内容得到更新. 用到的技术: Python版本是 2.7 ,同时用到了ur