這里假設你已經安裝好node.js和npm,如果沒有安裝,請參閱其他教程安裝。
配置
首先是來配置package.json文件,這里使用express,request和cheerio。
package.json如下:
{ "name": "node-scrape", "version": "0.0.1", "description": "Scrape", "main": "server.js", "dependencies": { "express" : "latest", "request" : "latest", "cheerio" : "latest" } }
npm 安裝
把package.json文件放到一個你自己定義的文件夾(nodejs_scrape)下,然后在命令行下執行
cd nodejs_scrape npm install
抓取內容
在nodejs_scrape目錄下新建一個server.js文件,先定義如下變量的和方法
var express = require("express"); var fs = require("fs"); var request = require("request"); var cheerio = require("cheerio"); var app = express(); app.get("/",function (req,res) { //抓取內容的方法 }); app.listen("8081"); //使用8081端口 console.log("Magic happens on port 8081"); exports = module.exports = app;
下面我們就來完善get方法的內容
首先定義要抓取的url,這里以segmentfault為例
url = "https://segmentfault.com/news";
頁面如下面所示,點擊F12查看,我們就提取最簡單的 class="mr10" 這個標簽
抓取內容的方法如下
request(url, function (err,res,html) { if (!err){ var $ = cheerio.load(html); var title; $(".mr10").filter(function () { var data = $(this); title = data.text(); //獲取標簽的內容 console.log("title is " + title); //控制臺打印 }); } });
server.js完整代碼如下
/** * Created by Administrator on 2017/3/1. */ var express = require("express"); var fs = require("fs"); var request = require("request"); var cheerio = require("cheerio"); var app = express(); app.get("/",function (req,res) { //all scrape magic will happen here url = "https://segmentfault.com/news"; request(url, function (err,res,html) { if (!err){ var $ = cheerio.load(html); var title; $(".mr10").filter(function () { var data = $(this); title = data.text(); console.log("title is " + title); }); } }); }); app.listen("8081"); console.log("Magic happens on port 8081"); exports = module.exports = app;
運行
在nodejs_scrape目錄下運行 node server ,可以看到如下所示
在瀏覽器運行http://127.0.0.1:8081/,可以看到抓取的內容如下:
這樣我們就完成了一個簡單到不能再簡單的node.js爬蟲。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81826.html
摘要:爬蟲介紹二爬蟲的分類通用網絡爬蟲全網爬蟲爬行對象從一些種子擴充到整個,主要為門戶站點搜索引擎和大型服務提供商采集數據。 分分鐘教你用node.js寫個爬蟲 寫在前面 十分感謝大家的點贊和關注。其實,這是我第一次在segmentfault上寫文章。因為我也是前段時間偶然之間才開始了解和學習爬蟲,而且學習node的時間也不是很長。雖然用node做過一些后端的項目,但其實在node和爬蟲方面...
摘要:前言很多程序猿在最開始學習開發的時候應該都有一個想要自己開發一個爬蟲的想法至少我是有的。其實弄懂了爬蟲的原理,再回過頭去看,發現開發一個簡單的爬蟲來說還是很容易的。 前言 很多程序猿在最開始學習開發的時候應該都有一個想要自己開發一個爬蟲的想法(至少我是有的)。所以國內網絡上也是爬蟲盛行!學了node.js之后發現比較適合寫爬蟲,不過一直沒有動手去寫,正好這段時間比較閑,就寫個爬蟲玩下。...
摘要:項目中一直用不到但是覺得這門以作為編程基礎的服務端語言很有意思用它可以寫一些接口寫個爬蟲這是一門基礎篇看了一段時間文檔后寫個爬蟲增強一下的認識吧爬蟲的原理感覺很簡單大致分為一下三步獲取到對應網站的數據也就是代碼篩選出你需要的數據比如用戶的信 項目中一直用不到node,但是覺得node這門以js作為編程基礎的服務端語言很有意思,用它可以寫一些接口,寫個爬蟲.這是一門基礎篇,看了一段時間文...
閱讀 3385·2023-04-25 14:07
閱讀 3453·2021-09-28 09:35
閱讀 2087·2019-08-30 15:55
閱讀 1403·2019-08-30 13:48
閱讀 2498·2019-08-30 13:16
閱讀 3200·2019-08-30 12:54
閱讀 3237·2019-08-30 11:19
閱讀 1872·2019-08-29 17:17