国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

簡單的node爬蟲存入excel數據分析

Mike617 / 1336人閱讀

摘要:入門級的爬蟲地址思否社區文章太多哪個是我想要的對比點贊數對比標題不用害怕,自己動手用來實現爬蟲,麻麻再也不用擔心我學習選擇困難癥啦核心代碼寫入成功核心的代碼僅僅只有行哦配置代碼定義爬蟲的頁面定義存放的路徑定義元素范圍定義數據屬性具體元

入門級的node爬蟲

github地址:https://github.com/lll618xxx/...

思否社區文章太多?哪個是我想要的?對比點贊數or對比標題
不用害怕,自己動手用node來實現爬蟲,麻麻再也不用擔心我學習選擇困難癥啦!

核心代碼
const superagent = require("superagent")
const cheerio = require("cheerio")
const xlsx = require("node-xlsx")
const fs = require("fs")
const options = require("./options")

superagent.get(options.url)
    .then(res => {
        const bufferdata = [{
            name: "sheet1",
            data: [options.attr.map((item, index, arr) => {
                return arr[index][2]
            })]
        }]
       
        const $ = cheerio.load(res.text);
        
        $(options.ele).each((index, item) => {
            let arr = []
            options.attr.forEach((v, i, a) => {
                arr.push(a[i][1] ? $(item).find(a[i][0]).attr(a[i][1]) : $(item).find(a[i][0]).text())
            })
            bufferdata[0].data.push(arr)
        })
       
        fs.writeFile(options.excelPath, xlsx.build(bufferdata), (err) =>{
            if (err) throw err;
            console.log("寫入Excel成功");
        })
    })
    .catch(err => {
        console.log(err)
    });

核心的代碼僅僅只有36行哦!

配置代碼
const path = require("path")

// 定義爬蟲的頁面
const url = "https://segmentfault.com/hottest/monthly"
// 定義excel存放的路徑
const excelPath = path.join(__dirname, "result.xlsx")
// 定義元素范圍
const ele =  "div.wrapper div.news-list div.news__item-info" 
// 定義數據屬性 ["具體元素", "屬性", "別名"]
const attr = [
    ["a", "href", "鏈接"],
    ["span.votes-num", "", "點贊數"],
    ["h4.news__item-title", "", "標題名字"],
    ["span.author a", "", "作者名字"],
] 
安裝依賴
npm i
運行項目
cd node-reptile-simple && node index.js
配置項(options.js)
url 定義爬蟲的頁面
excelPath 定義excel存放的路徑
ele 定義元素范圍
attr 定義數據屬性 ["具體元素", "屬性", "別名"]
截圖

可以去github查看更完整的內容
爬的不僅僅是思否,只有你想不到的,沒有我做不到的!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/105933.html

相關文章

  • node爬取拉勾網數據并導出為excel文件

    摘要:前言之前斷斷續續學習了,今天就拿拉勾網練練手,順便通過數據了解了解最近的招聘行情哈方面算是萌新一個吧,希望可以和大家共同學習和進步。 前言 之前斷斷續續學習了node.js,今天就拿拉勾網練練手,順便通過數據了解了解最近的招聘行情哈!node方面算是萌新一個吧,希望可以和大家共同學習和進步。 一、概要 我們首先需要明確具體的需求: 可以通過node index 城市 職位來爬取相關信...

    dkzwm 評論0 收藏0
  • 爬蟲小demo

    摘要:爬取的數據存入表格分析要爬取的內容的網頁結構是庫寫入表所用讀取表所用通過解析文檔為用戶提供需要抓取的數據改變標準輸出的默認編碼我們開始利用來獲取網頁并利用解析網頁返回的是狀態碼,加上以字節形式二進制返回數據。 爬取的數據存入Excel表格 分析要爬取的內容的網頁結構: showImg(https://segmentfault.com/img/bVbsFt6?w=1644&h=1012)...

    pf_miles 評論0 收藏0
  • nodejs使用node-xlsx生成excel

    摘要:使用中庫進行的生成操作近日,應領導要求,從網上抓了一大批數據存入了數據庫,可是媽媽批,市場妹子要的是表格啊,畢竟妹子的話還是要聽的關鍵人家語氣蠻好的,就從網上查一些資料。 ## 使用nodejs中node-xlsx庫進行excel的生成操作 ## 近日,應領導要求,從網上抓了一大批數據存入了數據庫,可是媽媽批 ,市場妹子要的是excel表格啊,畢竟妹子的話還是要聽的(關鍵人家語氣蠻好的...

    zr_hebo 評論0 收藏0
  • scrapy-redis分布式爬蟲框架詳解

    摘要:分布式爬蟲框架詳解隨著互聯網技術的發展與應用的普及,網絡作為信息的載體,已經成為社會大眾參與社會生活的一種重要信息渠道。下載器中間件位于引擎和下載器之間的框架,主要是處理引擎與下載器之間的請求及響應。 scrapy-redis分布式爬蟲框架詳解 隨著互聯網技術的發展與應用的普及,網絡作為信息的載體,已經成為社會大眾參與社會生活的一種重要信息渠道。由于互聯網是開放的,每個人都可以在網絡上...

    myeveryheart 評論0 收藏0

發表評論

0條評論

Mike617

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<