摘要:目前半島局勢(shì)緊張,朝鮮已進(jìn)行了六次核試驗(yàn),被廣泛認(rèn)為已經(jīng)擁有了核彈頭。另外朝鮮的導(dǎo)彈技術(shù)今年以來(lái)快速突破,成功試射了射程可覆蓋美國(guó)本土的洲際彈道導(dǎo)彈。這個(gè)版的內(nèi)容傳到互聯(lián)網(wǎng)上后,迅速刷屏,引起紛紛議論。
SplderApi2
Node-SplderApi2 第二版
基于Node 的網(wǎng)絡(luò)爬蟲(chóng) API接口 包括前端開(kāi)發(fā)日?qǐng)?bào)、kugou音樂(lè)、前端top框架排行、妹紙福利、搞笑視頻、段子笑話、各類視頻新聞資訊 熱點(diǎn)詳情接口數(shù)據(jù)
源代碼目錄結(jié)構(gòu)
地址
GitHub :https://github.com/ecitlm/Nod...
查看文檔
環(huán)境要求部署運(yùn)行需要安裝node express
$ git clone https://github.com/ecitlm/Node-SpliderApi.git $ npm install ### 運(yùn)行 $ node app.js
服務(wù)器啟動(dòng)默認(rèn)端口為3001 、啟動(dòng)之后就可以開(kāi)啟了接口服務(wù)了.
接口文件
├─api │ ├─it │ │ daily_info.js │ │ daily_list.js │ │ web_frame.js │ │ │ ├─joke │ │ joke_img.js │ │ joke_list.js │ │ joke_photo.js │ │ │ ├─music │ │ new_songs.js │ │ plist.js │ │ plist_songs.js │ │ rank_list.js │ │ rank_list_info.js │ │ search.js │ │ singer_classify.js │ │ singer_info.js │ │ singer_list.js │ │ song_info.js │ │ song_lrc.js │ │ │ ├─news │ │ news_detail.js │ │ news_list.js │ │ video_list.js │ │ │ └─photo │ huaban.js │ photo_list.js │ photo_type.js │ photo_view.js │ └─web daily_info.js daily_list.js index.js photo.js
網(wǎng)絡(luò)請(qǐng)求封裝 httpServer.js
get方法
/** * http get網(wǎng)絡(luò)請(qǐng)求封裝 * @param {string} 域名 * @param {obj} 參數(shù) * @param {string} 接口路徑 * @param {bool} true false 是否為https * @returns */ function httpGet(host, data, path, status) { var options = { host: host, port: 80, path: path + querystring.stringify(data), method: "GET", encoding: null, headers: { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36", }, }; //判斷是否為https請(qǐng)求 if (status) { http = require("https"); options.port = 443; } return new Promise(function(resolve, reject) { let body = ""; var get_req = http.request(options, function(response) { //response.setEncoding("utf8"); response.on("data", function(chunk) { body += chunk; }); response.on("end", () => { resolve(body); }); response.on("error", err => { reject(err); }); }); get_req.end(); }); }
POST方法
/** * http POST 請(qǐng)求 * @param {string} 域名 * @param {obj} 參數(shù) * @param {string} 接口路徑 * @param {bool} true false 是否為https * @returns */ function httpPost(host, data, path, status) { var data = querystring.stringify(data); var options = { host: host, port: "80", path: path, method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded", "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36", "Content-Length": Buffer.byteLength(data), //返回字符串實(shí)際占據(jù)的字節(jié)長(zhǎng)度 }, }; //判斷是否為https請(qǐng)求 if (status) { http = require("https"); options.port = 443; } return new Promise(function(resolve, reject) { let body = ""; var post_req = http.request(options, function(response) { //console.log(response.statusCode); response.on("data", function(chunk) { body += chunk; }); response.on("end", () => { resolve(body); }); response.on("error", err => { reject(err); }); }); post_req.write(data); post_req.end(); }); }1.前端開(kāi)發(fā)日?qǐng)?bào)接口
1.1 最新前10天日?qǐng)?bào)列表前端開(kāi)發(fā)日?qǐng)?bào)列表、單日日?qǐng)?bào)、前端框架top100
必選參數(shù):
無(wú)
接口地址:
api/daily_list
調(diào)用例子:
http://localhost:3001/api/daily_list
接口返回?cái)?shù)據(jù)
{ "code": 200, "data": [ { "title": "20171206 前端開(kāi)發(fā)日?qǐng)?bào)", "id": 20171206, "description": "基于 Vue-cli 的 webpack 通用封裝, 更易簡(jiǎn)單的開(kāi)始你的項(xiàng)目;Webapck+Vue多頁(yè)面商城模板;前端每周清單第 42 期:V8 的執(zhí)行流與優(yōu)化, Pinterest 的 PWA 實(shí)踐, Rust 與 WebAssembl ...", "date": "2017-12-06" }, { "title": "20171127 前端開(kāi)發(fā)日?qǐng)?bào)", "id": 20171127, "description": "一次 H5 「保存頁(yè)面為圖片」 的踩坑之旅;純 CSS 實(shí)現(xiàn)波浪效果;前端本地文件操作與上傳;函數(shù)聲明、函數(shù)表達(dá)式、匿名函數(shù)、立即執(zhí)行函數(shù)詳解;Chromium 新的彈窗機(jī)制以及 HTML 的 dialog 元素;RxJS 5 中文文檔;C ...", "date": "2017-11-27" } ], "msg": "" }1.2 單日日?qǐng)?bào)內(nèi)容
必選參數(shù):
日期 id
接口地址:
api/daily_info/:id
調(diào)用例子:
http://localhost:3001/api/daily_info/20171206
接口返回?cái)?shù)據(jù)
{ "code": 200, "data": { "title": "20171206 前端開(kāi)發(fā)日?qǐng)?bào)", "description": "基于 Vue-cli 的 webpack 通用封裝, 更易簡(jiǎn)單的開(kāi)始你的項(xiàng)目;Webapck+Vue多頁(yè)面商城模板;前端每周清單第 42 期:V8 的執(zhí)行流與優(yōu)化, Pinterest 的 PWA 實(shí)踐, Rust 與 WebAssembly 應(yīng)用;如何利用Git中的tag管理項(xiàng)目版本號(hào);vue-loader 源碼解析系列之 selector;[javascript]搞清this的指向只需問(wèn)兩個(gè)問(wèn)題;分享一個(gè)比較全的webpack配置,分為基礎(chǔ)和適配antdesign的配置;使用JavaScript 寫(xiě)web路由", "links": [ { "title": "基于 vue-cli 的 webpack 通用封裝, 更易簡(jiǎn)單的開(kāi)始你的項(xiàng)目", "description": "基于 vue-cli 的 webpack 通用封裝, 更易簡(jiǎn)單的開(kāi)始你的項(xiàng)目 vayne 薇恩 基于 vue-cli 的 webpack 通用封裝, 更易簡(jiǎn)單的開(kāi)始你的項(xiàng)目 使用 npm i vayne -g yarn add vayne -D --registry", "url": "https://juejin.im/entry/5a20e7056fb9a045284647ce" }, { "title": "簡(jiǎn)單案例學(xué)習(xí)Vue.js單元測(cè)試", "description": "簡(jiǎn)單案例學(xué)習(xí)Vue.js單元測(cè)試 使用 vue-cli 可以直接生成一個(gè)包含 unit & e2e 測(cè)試的開(kāi)發(fā)環(huán)境。這里我們主要針對(duì) unit 文件進(jìn)行 單元測(cè)試 。 (本發(fā)首發(fā)于我的筆記網(wǎng)站) 命令行效果預(yù)覽 test/unit 文件結(jié)構(gòu)及分析 ├── coverage ├── jest.conf.js ├── setup.js └── specs ├── api-test.spec.js ├── click-test.spec.js ...", "url": "http://www.tuicool.com/articles/zYnE7vZ" }, { "title": "Web開(kāi)發(fā)這十年", "description": "Web開(kāi)發(fā)這十年 作者 | Ivan Zarea 譯者 | 薛命燈 Web 開(kāi)發(fā)這十年都發(fā)生了怎樣的變化?來(lái)看看 Ivan Zarea 總結(jié)的 Web 開(kāi)發(fā)這十年。以下內(nèi)容摘譯自作者的博客,查看英文原文:", "url": "https://juejin.im/entry/5a2521f46fb9a0451463e11c" } ] }, "msg": "" }1.3 前端框架top 100
返回前端top 100框架數(shù)據(jù)
必選參數(shù):
無(wú)
接口地址:
api/web_frame
調(diào)用例子:
http://localhost:3001/api/web_frame
接口返回?cái)?shù)據(jù)
{ "code": 200, "data": [ { "index": "1", "thumb": "https://awesomes.oss-cn-beijing.aliyuncs.com/repo/151009222011-95-1.jpg?x-oss-process=style/subject_repo", "title": "bootstrap", "description": "目前最流行的 HTML, CSS 和 JavaScript 框架,用于開(kāi)發(fā)響應(yīng)式,移動(dòng)端先行的 web 項(xiàng)目", "url": "https://github.com/twbs/bootstrap" }, { "index": "2", "thumb": "https://awesomes.oss-cn-beijing.aliyuncs.com/repo/151011005628-65-1.jpg?x-oss-process=style/subject_repo", "title": "react", "description": "Facebook 推出的一款聲明式的,高效的,靈活的用于創(chuàng)建用戶接口的JavaScript 庫(kù)", "url": "https://github.com/facebook/react" } ] }2.笑話段子搞笑圖片
2.1 段子列表笑話段子、搞笑圖片
段子列表、每頁(yè)返回20條數(shù)據(jù)
必選參數(shù):
"page" 頁(yè)數(shù)
接口地址:
/api/joke_list/:page
調(diào)用例子:
http://localhost:3001/api/joke_list/1
接口返回?cái)?shù)據(jù)
{ "code": 200, "data": [ { "title": "做了個(gè)美夢(mèng),嚇醒了。~~~~割~~~~;做夢(mèng)剛開(kāi)始好像是抱著老婆的咪咪喊別人的名字,后來(lái)想 ", "source": "糗事百科", "digest": "做了個(gè)美夢(mèng),嚇醒了。~~~~割~~~~;做夢(mèng)剛開(kāi)始好像是抱著老婆的咪咪喊別人的名字,后來(lái)想想不對(duì)啊,應(yīng)該抱著別人喊老婆才對(duì),這樣老婆就會(huì)高興了,突然就驚醒了,我的老婆在哪呢。u0001[流鼻血]u0001[流鼻血]u0001[流鼻血]" }, { "title": "奶奶去世四十天了,生前最大的愿望就是想看到我女朋友,我的高中同學(xué)在那個(gè)醫(yī)院做護(hù)士,是她幫了我這個(gè)忙,冒充了十分鐘,她應(yīng)該不玩段子的,還是衷心祝所有醫(yī)院的天使一生平安!", "source": "內(nèi)涵段子", "digest": "奶奶去世四十天了,生前最大的愿望就是想看到我女朋友,我的高中同學(xué)在那個(gè)醫(yī)院做護(hù)士,是她幫了我這個(gè)忙,冒充了十分鐘,她應(yīng)該不玩段子的,還是衷心祝所有醫(yī)院的天使一生平安!" } ], "msg": "" }2.2 段子圖片
每天返回20條最新數(shù)據(jù)
必選參數(shù):
"無(wú)"
接口地址:
/api/joke_img/
調(diào)用例子:
http://localhost:3001/api/joke_img
接口返回?cái)?shù)據(jù)
{ "code": 200, "data": [ { "title": "泡妞最帥的姿勢(shì),hold啊", "thumburl": "http://ww3.sinaimg.cn/large/bd759d6djw1ezaly9mqf3j20c80exdgk.jpg", "sourceurl": "http://down.laifudao.com/images/tupian/20151210155356.jpg" }, { "title": "麥當(dāng)勞不如漢堡王的一個(gè)鐵證!", "thumburl": "http://ww4.sinaimg.cn/large/94c4bcf2jw1dzwn3wx3tmj.jpg", "sourceurl": "http://down.laifudao.com/images/tupian/201212172720.jpg" }, { "title": "幸福的拖拉機(jī)手", "thumburl": "http://ww1.sinaimg.cn/large/bcc86cc5jw1dzq54qxdd9j.jpg", "sourceurl": "http://down.laifudao.com/images/tupian/aa70448297.jpg" } ], "msg": "" }2.3 搞笑圖片
每頁(yè)返回10條最新數(shù)據(jù)
必選參數(shù):
"無(wú)"
接口地址:
/api/joke_photo/:page
調(diào)用例子:
http://localhost:3001/api/joke_photo/1
接口返回?cái)?shù)據(jù)
{ "code": 200, "data": [ { "title": "牛逼了我的公交哥", "img": "http://img.xiaoliaoba.cn/public/uploads/images/20171206/1512529717570948.png" }, { "title": "好污的鼠標(biāo)===", "img": "http://img.xiaoliaoba.cn/public/uploads/images/20171128/1511844635661496.png" }, { "title": "撩妹,都是套路,防不勝防", "img": "http://img.xiaoliaoba.cn/public/uploads/images/20171128/1511844447422391.png" }, { "title": "能不能專心點(diǎn)?", "img": "http://img.xiaoliaoba.cn/public/uploads/images/20171128/1511844362909028.png" }, { "title": "寶貝,我老公不在家", "img": "http://img.xiaoliaoba.cn/public/uploads/images/20171124/1511508449453478.png" } ], "msg": "" }3. 新聞資訊
3.1 新聞列表新聞列表、新聞視頻、新聞詳情
新聞列表
必選參數(shù):
type : 新聞?lì)愋?
0 熱點(diǎn)新聞 1 社會(huì)新聞 2 娛樂(lè)新聞 3體育新聞 4美文 5科技 6財(cái)經(jīng) 7 時(shí)尚
名稱 | 熱點(diǎn) | 社會(huì) | 娛樂(lè) | 體育 | 美文 | 科技 | 財(cái)經(jīng) | 時(shí)尚 |
type | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
接口地址:
/api/news_list/:type
調(diào)用例子:
http://localhost:3001/api/news_list/1
接口返回?cái)?shù)據(jù)
{ "media_name": "環(huán)球網(wǎng)", "ban_comment": 1, "abstract": "《吉林日?qǐng)?bào)》今天用一個(gè)整版介紹了核武器常識(shí)及在遭到核攻擊時(shí)的防護(hù)方法。這個(gè)版的內(nèi)容傳到互聯(lián)網(wǎng)上后,迅速刷屏,引起紛紛議論。目前半島局勢(shì)緊張,朝鮮已進(jìn)行了六次核試驗(yàn),被廣泛認(rèn)為已經(jīng)擁有了核彈頭。另外朝鮮的導(dǎo)彈技術(shù)今年以來(lái)快速突破,成功試射了射程可覆蓋美國(guó)本土的洲際彈道導(dǎo)彈。", "image_list": [], "datetime": "2017-12-06 21:13", "article_type": 1, "tag": "news_military", "has_m3u8_video": 0, "keywords": "半島,朝鮮半島,朝鮮,吉林,半島局勢(shì)", "display_dt": 1512539220, "has_mp4_video": 0, "aggr_type": 1, "cell_type": 0, "article_sub_type": 1, "bury_count": 2, "title": "社評(píng):吉林日?qǐng)?bào)介紹核武常識(shí),意味著什么", "source_icon_style": 1, "tip": 1, "has_video": false, "share_url": "http://m.toutiao.com/group/6496307172245242381/?iid=0&app=news_article", "source": "環(huán)球網(wǎng)", "comment_count": 63, "article_url": "https://m.huanqiu.com/r/MV8wXzExNDI3MjE0XzI4Ml8xNTEyNTM5MjIw", "publish_time": 1512539220, "group_flags": 0, "action_extra": "{"channel_id": 3189398996}", "tag_id": "6496307172245242381", "source_url": "/item/6496307172245242381/", "display_url": "http://toutiao.com/group/6496307172245242381/", "is_stick": false, "item_id": "6496307172245242381", "repin_count": 2308, "cell_flag": 11, "source_open_url": "sslocal://profile?uid=5954781019", "level": 0, "digg_count": 1, "behot_time": 1512566010, "hot": 1, "cursor": 1512566010999, "url": "https://m.huanqiu.com/r/MV8wXzExNDI3MjE0XzI4Ml8xNTEyNTM5MjIw", "like_count": 1, "user_repin": 0, "has_image": false, "video_style": 0, "media_info": { "avatar_url": "http://p1.pstatp.com/large/4d00054b126ceaf920", "media_id": 5954781019, "name": "環(huán)球網(wǎng)", "user_verified": false }, "group_id": "6496307172245242381" }3.2 新聞詳情
每頁(yè)返回10條最新數(shù)據(jù)
必選參數(shù):
item_id 新聞列表的 item id
接口地址:
/api/news_detail/:item_id
調(diào)用例子:
http://localhost:3001/api/news_detail/6496307172245242381
接口返回?cái)?shù)據(jù)
{ "detail_source": "環(huán)球網(wǎng)", "media_user": { "no_display_pgc_icon": false, "avatar_url": "http://p9.pstatp.com/thumb/4d00054b126ceaf920", "id": "5954781019", "screen_name": "環(huán)球網(wǎng)" }, "publish_time": 1512568020, "title": "社評(píng):吉林日?qǐng)?bào)介紹核武常識(shí),意味著什么", "url": "https://m.huanqiu.com/r/MV8wXzExNDI3MjE0XzI4Ml8xNTEyNTM5MjIw", "is_original": false, "is_pgc_article": false, "content": "3.3 視頻數(shù)據(jù)《吉林日?qǐng)?bào)》今天用一個(gè)整版介紹了核武器常識(shí)及在遭到核攻擊時(shí)的防護(hù)方法。這個(gè)版的內(nèi)容傳到互聯(lián)網(wǎng)上后,迅速刷屏,引起紛紛議論。
", "source": "環(huán)球網(wǎng)", "comment_count": 63, "creator_uid": 5954781019 }
必選參數(shù):
type : 類型
0搞笑視頻 1美女視頻 2體育視頻 3 新聞現(xiàn)場(chǎng) 4漲姿勢(shì) 5獵奇 6 黑科技 默認(rèn)搞笑視頻
page : 分頁(yè) 如:0/10/20/30
type | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
名稱 | 搞笑 | 美女 | 體育 | 新聞現(xiàn)場(chǎng) | 漲姿勢(shì) | 獵奇 | 黑科技 |
接口地址:
api/video_list/:type/:page
調(diào)用例子:
http://localhost:3001/api/video_list/1/0
返回?cái)?shù)據(jù)(由于長(zhǎng)度就展示2條看)如下JSON:
4.kugou音樂(lè)wap端接口數(shù)據(jù)4.1 音樂(lè)新歌榜單音樂(lè)新歌榜單、音樂(lè)歌單、排行榜、音樂(lè)詳情、歌詞、搜索、歌手信息、
詳細(xì)可看源代碼 api/music
必選參數(shù):
無(wú)
接口地址:
api/new_songs
調(diào)用例子:
http://localhost:3001/api/new_songs
接口返回?cái)?shù)據(jù)
原文地址:https://code.it919.cn/2017/12...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/90252.html
摘要:但是半年來(lái),養(yǎng)成積極幫助他人的習(xí)慣后,我發(fā)現(xiàn)自己不知不覺(jué)也跨過(guò)了聲望的門檻。總之,這兩個(gè)因素讓我決定爬一爬自己通過(guò)回答得到的聲望。有的操作可能被用戶取消,但仍保留在聲望記錄上。看來(lái)通過(guò)文章,尤其是翻譯文章,得到的聲望占的水分挺大的。 起因 我注冊(cè)SegmentFault賬號(hào)是在2016年12月,但是正式開(kāi)始參與社區(qū)貢獻(xiàn)是2017年9月。那時(shí)候我剛剛畢業(yè),參加工作。到現(xiàn)在已經(jīng)半年了。 ...
摘要:目錄安裝,并下載依賴搭建服務(wù)請(qǐng)求我們要爬取的頁(yè)面,返回安裝我們開(kāi)始安裝,可以去官網(wǎng)下載下載地址,下載完成后運(yùn)行使用,安裝成功后會(huì)出現(xiàn)你所安裝的版本號(hào)。 前言 周末自己在家閑著沒(méi)事,刷著微信,玩著手機(jī),發(fā)現(xiàn)自己的微信頭像該換了,就去網(wǎng)上找了一下頭像,看著圖片,自己就想著作為一個(gè)碼農(nóng),可以把這些圖片都爬取下來(lái)做成一個(gè)微信小程序,說(shuō)干就干,了解一下基本都知道怎么做了,整理分享一波給大家。 目...
摘要:很基礎(chǔ),不喜勿噴轉(zhuǎn)載注明出處爬蟲(chóng)實(shí)戰(zhàn)項(xiàng)目之鏈家效果圖思路爬蟲(chóng)究竟是怎么實(shí)現(xiàn)的通過(guò)訪問(wèn)要爬取的網(wǎng)站地址,獲得該頁(yè)面的文檔內(nèi)容,找到我們需要保存的數(shù)據(jù),進(jìn)一步查看數(shù)據(jù)所在的元素節(jié)點(diǎn),他們?cè)谀撤矫嬉欢ㄊ怯幸?guī)律的,遵循規(guī)律,操作,保存數(shù)據(jù)。 說(shuō)明 作為一個(gè)前端界的小學(xué)生,一直想著自己做一些項(xiàng)目向全棧努力。愁人的是沒(méi)有后臺(tái),搜羅之后且學(xué)會(huì)了nodejs和express寫(xiě)成本地的接口給前端頁(yè)面調(diào)用...
摘要:很基礎(chǔ),不喜勿噴轉(zhuǎn)載注明出處爬蟲(chóng)實(shí)戰(zhàn)項(xiàng)目之鏈家效果圖思路爬蟲(chóng)究竟是怎么實(shí)現(xiàn)的通過(guò)訪問(wèn)要爬取的網(wǎng)站地址,獲得該頁(yè)面的文檔內(nèi)容,找到我們需要保存的數(shù)據(jù),進(jìn)一步查看數(shù)據(jù)所在的元素節(jié)點(diǎn),他們?cè)谀撤矫嬉欢ㄊ怯幸?guī)律的,遵循規(guī)律,操作,保存數(shù)據(jù)。 說(shuō)明 作為一個(gè)前端界的小學(xué)生,一直想著自己做一些項(xiàng)目向全棧努力。愁人的是沒(méi)有后臺(tái),搜羅之后且學(xué)會(huì)了nodejs和express寫(xiě)成本地的接口給前端頁(yè)面調(diào)用...
摘要:數(shù)據(jù)有了,接下來(lái)該構(gòu)建了,谷歌了一下發(fā)現(xiàn)用好像不錯(cuò),于是又學(xué)習(xí)了部分,構(gòu)建了所需的。采用分離的寫(xiě)法,分開(kāi)寫(xiě),方便維護(hù)。另外本項(xiàng)目中還寫(xiě)了一些可直接遷移使用的組件比如組件左右彈出層的背景陰影組件。最后上點(diǎn)項(xiàng)目截圖界面是抄起點(diǎn)的 項(xiàng)目地址:點(diǎn)擊 預(yù)覽地址:點(diǎn)擊 api地址:點(diǎn)擊 爬蟲(chóng)地址:點(diǎn)擊 技術(shù)棧:vue + vue-router + vuex + webpack + axios ...
閱讀 786·2021-11-11 16:54
閱讀 1517·2021-08-24 10:01
閱讀 1911·2019-08-30 15:54
閱讀 3296·2019-08-29 14:02
閱讀 3129·2019-08-28 18:22
閱讀 2244·2019-08-28 18:09
閱讀 3698·2019-08-26 10:26
閱讀 2664·2019-08-23 18:23